利用Java代码实现图片的下载:
来源:互联网 发布:软件订阅模式 编辑:程序博客网 时间:2024/06/05 14:35
导论:
JavaWeb下载文件一般分为两类,其中一类例如.txt,.excel,.zip等浏览器可以识别的文件类型,可以利用<a><a/>标签的链接实现,但是图片的下载确比较麻烦,当使用链接时,浏览器不识别图片的类型会将图片打开而不是下载。实现该功能比较常见的有利用jsp下载,利用servlet下载,利用纯java代码下载。本文介绍以java代码来实现。
利用Java代码实现图片的下载:
现在的企业级中大型项目一般都是利用ajax来实现与后台代码的交互的,但是ajax接收二进制流比较麻烦,一般用来获取图片地址。本人认为使用form表单来做请求比较简单。
jsp部分:
<iframe id="downIframe"name="downIframe" style="display:none"></iframe>
<from id="downFrom"target="downIframe"action="此处为访问的URL">
<input type="hidden" name="pictureUrl" value="此处为系统图片路径"/>
</from>
注:当我们单独使用form表单来实现时,方法会选择跳转到另一个页面中,当没有提供跳转的目的页面的时候,会跳转到一个空白页面,然后我们会想着给那个页面提供个背景图片,然后显示下载成功四个大字,哈哈。。这个有点太入门了。so here使用iframe来作为form表单的目的,单独刷新iframe区域,因为iframe仅仅存在在代码中在页面中看不到,所以不会影响。接下来就是java部分。
public void downPicture(HttpServletRequest request,HttpServletResponse response){
String url = request.getParameter("pictureUrl");
//获取文件
File file = new File(url);
//将图片读成二进制流
FileImageInputStream fs = new FileImageInputStream (file);
int streamLength = (int)fs.length();
byte[] image = new byte[streamLength ];
fs.read(image,0,streamLength );
fs.close();
response.serHeader("Content-Type","application/octet-stream");
response.serHeader("Content-Disposition","attachment;filename=图片名字.图片类型后缀");
response.getOutStream().write(image );
response.getOurStream.flush();
response.getOurStream.close();
}
- 利用Java代码实现图片的下载:
- 批量下载图片的代码实现
- 利用AsyncHttpClient实现图片的上传与下载
- 利用AsyncHttpClient实现图片的上传与下载
- 利用AsyncHttpClient实现图片的上传与下载+进度条
- java代码实现从网上直接下载图片或者网页
- Android开发之下载服务器上的一张图片到本地java代码实现HttpURLConnection
- Java-单线程实现图片的下载
- 实现文件下载的java代码
- 实现文件下载的java代码
- 实现文件下载的java代码
- 利用java代码自动下载嗨学网的学习视频
- 利用Python 实现下载百度图片
- 利用dispatch_group实现图片批量下载
- PHP多线程批量采集下载美女图片的实现代码
- 2016.08.19-java-关于网页图片的下载完整代码
- httpclient4下载图片 java实现
- java图片开源框架tesseract调用OCR实现图片文件识别代码下载
- java 一维数组求最大值最小值
- (DOM艺术)图片仓库改进一:完全分离
- HDU 3874 Necklace
- set action为Call时startActivity(intent);出现红线错误的解决方法
- maven核心,pom.xml详解
- 利用Java代码实现图片的下载:
- Codeforces 854
- 171007 逆向-PE压缩
- 例题8-4:传说中的车(问题分解)
- 了解JDBC
- NN-CRF
- 实现一个具有文件下载功能的网页
- XTU 1271 Color
- java.lang.IllegalArgumentException: Too many bind arguments. 4 arguments were provided but the stat