用java页面下载图片
try {
//根据String形式创建一个URL对象
String filePath = materialProductWorks.getDownloadImageUrl();
URL url = new URL(filePath);
//实列一个URLconnection对象,用来读取和写入此 URL 引用的资源
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置请求方式为"GET"
conn.setRequestMethod("GET");
//超时响应时间为5秒
conn.setConnectTimeout(5 * 1000);
//下载图片重新命名,这行注掉
//String fileName = filePath.substring(filePath.lastIndexOf(File.separator)+1);
//获取一个输入流
InputStream is = conn.getInputStream();
// 清空buffer,设置页面不缓存
response.reset();
//使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据
response.setContentType("application/octet-stream");
//设置不同的名称
String ufile = UUID.randomUUID().toString().replace("-", "");
//文件下载,指定默认名
response.addHeader("Content-Disposition", "attachment;filename=" + ufile + ".png");
//一个byte[]数组,一次读取多个字节
byte[] bt = new byte[1000];
//用来接收每次读取的字节个数
int b = 0;
OutputStream out = response.getOutputStream();
//循环判断,如果读取的个数b为空了,则is.read()方法返回-1,具体请参考InputStream的read();
while ((b = is.read(bt)) != -1) {
//将对象写入到对应的文件中
out.write(bt, 0, b);
}
//刷新流
out.flush();
//关闭流
out.close();
is.close();
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
用java页面下载图片的更多相关文章
- java假设模拟请求重新启动路由器(网络爬虫经常使用),还有java怎样下载图片
我们假设在公司或家里使用网络爬虫去抓取自己索要的一些数据的时候,经常对方的站点有defence机制,会给你的http请求返回500错误,仅仅要是同样IP就请求不到数据,这时候我们仅仅能去重新启动路由器 ...
- 关于Java/Kotlin下载图片,图片打开不能显示问题探究
图片下载其实是个很简单的功能,通过IO流从在线地址获取流,之后将流输出到文件即可完成下载功能,但是,最近我发现某个网站中的图片下载成功,但是打开却是无法打开,这让我迷惑,百度上根本就没有人说清楚 今天 ...
- java远程下载图片
从别的网站复制文章的时候,要把图片下载到我们网站,再把图片地址换成我们网站的地址 <img id="mbkenHUwhWeOj9U8K6c8LlAXaes3oXit-M4SnmRvB4 ...
- java压缩下载图片并以zip流的形式下载到客户端
/** * * @param page * @param rows * @param works * @return * @author ffwwzz 下载zip * @throws IOExcept ...
- Java HttpURLConnection 下载图片 图片全是“加密图片”文字,怎么解决?
package com.qzf.util; import java.io.FileOutputStream;import java.io.IOException;import java.io.Inpu ...
- java IOUtils下载图片
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp ...
- 记录java ftp下载图片只有96KB的问题
public InputStream downloadFile(String path) { if(StringUtils.isBlank(path)) { return null; } connne ...
- Java部分总结图片版(已经加上原图链接下载!!!)
Java基础知识图片版(原图下载链接)
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
随机推荐
- wp8 入门到精通 Utilities类 本地存储+异步
public class CCSetting { public async static void AddOrUpdateValue<T>(string key, T value) { t ...
- PHP+MYSQL+AJAX实现每日签到功能
一.web前端及ajax部分 文件index.html <html> <head> <meta http-equiv=Content-Type content=" ...
- Linux gnome
一.主题风格网站:gnome-look.org.deviantart.com.Linux公社 我使用的主题是:http://gnome-look.org/content/show.php/OS+X+1 ...
- Shell脚本获取C语言可执行程序返回值
#!/bin/sh #./test是c程序,该程序 返回0 ./test OP_MODE=$? echo $OP_MODE # $? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误.
- android开源项目和框架(转)
特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.c ...
- barabasilab-networkScience学习笔记5- Barabási-Albert 模型
第一次接触复杂性科学是在一本叫think complexity的书上,Allen博士很好的讲述了数据结构与复杂性科学,barabasi是一个知名的复杂性网络科学家,barabasilab则是他所主导的 ...
- POJ 2750 Potted Flower (线段树区间合并)
开始懵逼找不到解法,看了网上大牛们的题解才发现是区间合并... 给你n个数形成一个数列环,然后每次进行一个点的修改,并输出这个数列的最大区间和(注意是环,并且区间最大只有n-1个数) 其实只需要维护 ...
- LoadRunner脚本
Action() { char *str1=(char *)malloc(1024*sizeof(char)); char *str2="0"; char *str3=(char ...
- LoadRunner常用函数列表
LoadRunner常用函数列表 Web相关函数 函 数 功 能 描 述 web_custom_request 用户可以通过该函数自行创建一个HTTP请求的函数 web_image 模拟用户单击 ...
- 标准W3C盒子模型和IE盒子模型
标准W3C盒子模型和IE盒子模型 CSS盒子模型:网页设计中CSS技术所使用的一种思维模型. CSS盒子模型组成:外边距(margin).边框(border).内边距(padding).内容(co ...