根据URL下载图片至客户端、服务器的简单实例
程序员文章站
2024-03-31 20:17:10
1、保存至服务器
根据路径保存至项目所在服务器上。
string imgurl="";//图片地址
try {
// 构造url...
1、保存至服务器
根据路径保存至项目所在服务器上。
string imgurl="";//图片地址 try { // 构造url url url = new url(imgurl); // 打开连接 urlconnection con = url.openconnection(); // 输入流 inputstream is = con.getinputstream(); // 1k的数据缓冲 byte[] bs = new byte[1024]; // 读取到的数据长度 int len; // 输出的文件流 outputstream os = new fileoutputstream("c:\\image.jpg");//保存路径 // 开始读取 while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } // 完毕,关闭所有链接 os.close(); is.close(); } catch (malformedurlexception e) { e.printstacktrace(); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); }
2、保存至本地
以浏览器下载的方式保存至本地。
string imgurl="";//url地址 string filename = imgurl.substring(imgurl.lastindexof('/') + 1); bufferedinputstream is = null; bufferedoutputstream os = null; try { url url = new url(imgurl); this.getservletresponse().setcontenttype("application/x-msdownload;"); this.getservletresponse().setheader("content-disposition", "attachment; filename=" + new string(filename.getbytes("utf-8"), "iso8859-1")); this.getservletresponse().setheader("content-length", string.valueof(url.openconnection().getcontentlength())); is = new bufferedinputstream(url.openstream()); os = new bufferedoutputstream(this.getservletresponse().getoutputstream()); byte[] buff = new byte[2048]; int bytesread; while (-1 != (bytesread = is.read(buff, 0, buff.length))) { os.write(buff, 0, bytesread); } if (is != null) is.close(); if (os != null) os.close(); } catch (malformedurlexception e) { e.printstacktrace(); } catch (unsupportedencodingexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); }
以上这篇根据url下载图片至客户端、服务器的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇: Spring搭配Ehcache实例解析