Java如何从服务器中下载图片
本文实例为大家分享了Java服务器中下载图片的方法,供大家参考,具体内容如下
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.net.URL;
importjava.net.URLConnection;
importorg.apache.commons.io.IOUtils;
/**
*从服务器中下载图片
*
*@paramfileName图片地址
*@paramresponse
*@return
*/
@RequestMapping(value="/download")
publicvoiddownloadMedia(HttpServletResponseresponse,HttpServletRequestrequest){
InputStreaminputStream=null;
OutputStreamoutputStream=null;
try{
//处理中文乱码
request.setCharacterEncoding("UTF-8");
StringfileName=request.getParameter("fileName");
fileName=newString(fileName.getBytes("iso8859-1"),"UTF-8");
//处理浏览器兼容
response.setContentType("application/msexcel;charset=utf-8");//定义输出类型
Enumerationenumeration=request.getHeaders("User-Agent");
StringbrowserName=(String)enumeration.nextElement();
booleanisMSIE=browserName.contains("MSIE");
if(isMSIE){
response.addHeader("Content-Disposition","attachment;fileName="+URLEncoder.encode(fileName,"UTF8"));
}else{
response.addHeader("Content-Disposition","attachment;fileName="+newString(fileName.getBytes("gb2312"),"ISO8859-1"));
}
//url地址如果存在空格,会导致报错!解决方法为:用+或者%20代替url参数中的空格。
fileName=fileName.replace("","%20");
//图片下载
URLurl=newURL(fileName);
URLConnectionconn=url.openConnection();
outputStream=response.getOutputStream();
inputStream=conn.getInputStream();
IOUtils.copy(inputStream,outputStream);
}catch(IOExceptione){
System.err.println(e);
}finally{
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
热门推荐
10 婚庆花篮祝福语简短大气
11 同事离别祝福语简短的
12 上岸离职祝福语大全简短
13 安徽疫情祝福语简短英语
14 学校职工祝福语大全简短
15 给长辈祝福语简短大全
16 考试祝福语日文简短版
17 祖国七十华诞简短祝福语
18 优秀男士祝福语大全简短