[javaEE] response实现图片下载
在Servlet中的doGet()方法中
获取FileInputStream对象,new出来,构造参数:String的文件路径
得到文件路径,调用this.getServletContext().getRealPath(“这里是应用根路径”)
调用HttpServletResponse对象的getOutputStream()方法,得到OutputStream对象
正常读取和写入流
输入流可以关闭,输出流不要关闭
此时图片会直接显示出来,并没有出现下载
使用http协议头Content-Disposition:attachment;filename=1.jpg
调用HttpServletResponse对象的setHeader()方法,参数:key,value
此时问题,http协议头里不允许有中文,会出错,编码是iso8859-1
使用url编码方式解决,二进制转十六进制加上个%
调用UrlEncoder.encode()方法,进行url编码,参数:String文本,编码”utf-8”
response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode("测试.jpg", "utf-8"));FileInputStream file=new FileInputStream(this.getServletContext().getRealPath("1.jpg"));OutputStream os=response.getOutputStream();byte[] b=new byte[1024];int len=0;while((len=file.read(b))!=-1){os.write(b,0,len);}file.close();
[javaEE] response实现图片下载相关推荐
- Scrapy学习篇(九)之文件与图片下载
Media Pipeline Scrapy为下载item中包含的文件(比如在爬取到产品时,同时也想保存对应的图片)提供了一个可重用的 item pipelines . 这些pipeline有些共同的方 ...
- iOS imageio nsurlsession 渐进式图片下载
一.图片常用加载格式分两种 一般线性式 和交错/渐进式 自上而下线性式 先模糊再清晰 就概率上而言线性式使用最多,应为他所占空间普片比渐进式小.而这两种方式对于app端开发人员无需关心,这种图片存储格 ...
- Python—实训day4—爬虫案例3:贴吧图片下载
6 xpath 首先需要安装Google的Chrome浏览器 6.1 安装xpath插件 把 xpath_helper_2_0_2.crx 修改后缀名为 xpath_helper_2_0_2.rar. ...
- 网站图片下载 Python
import threading import requests from lxml import etree as et import os# 请求头 headers = {# 用户代理'User- ...
- 爬虫第二弹:千图网电商淘宝模板图片下载
爬虫第二弹:千图网电商淘宝模板图片下载 一.功能分析: 1.下载千图网电商淘宝的所有模板图片要求是高清版本: 2.并按照主页面将图片归类文件夹. 二.思路分析: 1.利用scrapy构建scra ...
- 今日头条街拍图片下载
获取街拍页面 import requests from beiying import tou# url url = 'http://www.toutiao.com/search_content/?of ...
- 图片下载器爬虫 ItemLoader
思路 http://www.meizitu.com/a/more_1.html 图片下载器爬虫 1.使用到的技术:scrapy ,requests(下载图片),ItemLoader 2.项目的创建:s ...
- 自制python图片下载器
这个代码的原理是用百度作为访问点,脚本根据使用者所输入的关键字去搜索图片,并且下载到使用者所创建的文件夹中. 下面为代码实例: # encoding = 'UTF-8' __author__ = '_ ...
- Python爬取京东商品评论和图片下载
Python爬取京东商品评论和图片下载 代码仅供学习使用,切勿扩散并且频繁爬取网站 贴上代码和注释,方便自己下次看 import requests import time import json im ...
最新文章
- java随机产生字母排序_Java生成含字母和数字的6位随机字符串
- 我现在是个普通Java程序员,如何才能“更有竞争力”?
- Gantt Chart in JavaScript (HTML5) | FusionCharts
- 【约束布局】ConstraintLayout 屏障 Barrier 约束 ( 简介 | 屏障适用场景 | 位置说明 | 相关属性 | 可视化操作 | 代码示例 | 总结 )
- 【转】一个ASP.NET MVC中ajax调用WebApi返回500 Internal Server Error的调错方法。
- python 菜鸟教程字符串反转函数_转自python的菜鸟教程---字符串相关操作
- vscode找不到config_vscode中的 jsconfig.json
- python problem
- HDU - 6273 Master of GCD
- 10年经验17张图带你进入gitflow企业项目代码版本管理的最佳实践
- 降级降薪去 Amazon ——左耳朵
- 嵌入式平台 STM32 libqrencode 移植 二维码生成
- Windows7使用Programmer Dvorak键盘布局
- 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析
- python爬去新浪微博_荐爬虫实战 新浪微博爬取 详细分析
- 【方案总览】全志方案选型总览与分析-持续更新
- HTML5中国象棋游戏(自定义象棋难度)源码下载
- 安卓讲课笔记3.4 网格布局
- oracle 查询表中字段名称和注释
- 12306买票难的一些思考