java从服务器下载图片_java_Java如何从服务器中下载图片,本文实例为大家分享了Java服务 - phpStudy...

本文介绍了Java如何从服务器下载图片,提供了一个具体的代码实例,包括处理中文乱码、浏览器兼容性和图片下载流程。同时,文章还提及了相关技术如MySQL的distinct和count(*)、Windows 10、jQuery和PHP的问题及解决方案。
摘要由CSDN通过智能技术生成

Java如何从服务器中下载图片

本文实例为大家分享了Java服务器中下载图片的方法,供大家参考,具体内容如下

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.URL;

import java.net.URLConnection;

import org.apache.commons.io.IOUtils;

/**

* 从服务器中下载图片

*

* @param fileName 图片地址

* @param response

* @return

*/

@RequestMapping(value = "/download")

public void downloadMedia(HttpServletResponse response, HttpServletRequest request) {

InputStream inputStream = null;

OutputStream outputStream = null;

try {

//处理中文乱码

request.setCharacterEncoding("UTF-8");

String fileName = request.getParameter("fileName");

fileName = new String(fileName.getBytes("iso8859-1"),"UTF-8");

//处理浏览器兼容

response.setContentType("application/msexcel;charset=utf-8");//定义输出类型

Enumeration enumeration = request.getHeaders("User-Agent");

String browserName = (String) enumeration.nextElement();

boolean isMSIE = browserName.contains("MSIE");

if (isMSIE) {

response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF8"));

} else {

response.addHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("gb2312"), "ISO8859-1"));

}

//url地址如果存在空格,会导致报错! 解决方法为:用+或者%20代替url参数中的空格。

fileName = fileName.replace(" ", "%20");

//图片下载

URL url = new URL(fileName);

URLConnection conn = url.openConnection();

outputStream = response.getOutputStream();

inputStream = conn.getInputStream();

IOUtils.copy(inputStream, outputStream);

} catch (IOException e) {

System.err.println(e);

}finally {

IOUtils.closeQuietly(inputStream);

IOUtils.closeQuietly(outputStream);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助。相关阅读:

MySQL中distinct和count(*)的使用方法比较

Win10家庭版安装U盘开卖 745元起

jquery获取颜色在ie和ff下的区别示例介绍

php以fastCGI的方式运行时文件系统权限问题及解决方法

确认:Win10 Edge浏览器抛弃ActiveX及Silverlight插件

jquery结婚电子请柬特效源码分享

PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)

Node.js(安装,启动,测试)

c#.net 动态读取 走马灯代码实例分享

Java Swing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例

js实现有时间限制消失的图片方法

php导入csv文件碰到乱码问题的解决方法

C#中TextBox实现输入提示功能的方法

php上传文件问题汇总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值