IO流下载文件,支持中文
来源:互联网 发布:javascript用户名验证 编辑:程序博客网 时间:2024/05/17 08:40
private String fileName;
public String getFileName() throws UnsupportedEncodingException {
return fileName;
}
public void setFileName(String fileName) throws UnsupportedEncodingException {
this.fileName = fileName;
}
//下载Excel文件
public void downloadexcel() {
try {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
String realPath = ServletActionContext.getServletContext().getRealPath("/upload") + "\\" + fileName;
System.out.println(realPath);
File file = new File(realPath);// 得到一个file对象
if (file.exists()) {
// 以流方式输出
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
setFileDownloadHeader(request, response, fileName);
InputStream in = new FileInputStream(new File(realPath));
OutputStream fileOut = response.getOutputStream();
int b;
while ((b = in.read()) != -1) {
fileOut.write(b);
}
in.close();
fileOut.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void setFileDownloadHeader(HttpServletRequest request, HttpServletResponse response, String fileName) {
String userAgent = request.getHeader("USER-AGENT");
try {
String finalFileName = null;
if (userAgent.contains("MSIE")) {// IE浏览器
finalFileName = URLEncoder.encode(fileName, "UTF8");
} else if (userAgent.contains("Mozilla")) {// google,火狐浏览器
finalFileName = new String(fileName.getBytes(), "ISO8859-1");
} else {
finalFileName = URLEncoder.encode(fileName, "UTF8");// 其他浏览器
}
response.setHeader("Content-Disposition", "attachment; filename=\"" + finalFileName + "\"");// 这里设置一下让浏览器弹出下载提示框,而不是直接在浏览器中打开
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
- IO流下载文件,支持中文
- java中io流下载文件实例
- java中io流下载文件实例
- 通过流下载文件
- struts2 IO流下载文件及上传文件
- Java文件流下载文件
- C#通过文件流下载文件
- hessian协议从rpc服务获取inputStream流下载文件的方式,出现异常 java.io.IOException: stream is closed
- 使用文件流下载文件功能实现 [原]
- webApi——通过文件流下载文件的实例
- IO流下
- java中使用输出流下载文件弹出打开保存框
- java中使用输出流下载文件弹出打开保存框
- ASP.NET(C#) Web Api通过文件流下载文件到本地实例
- java:文件流下载文档
- Nim中文件IO
- Nim中文件IO
- servlet中下载文件时url中有中文乱码
- android hook方法收集及选择优化
- 编程中无穷大常量的设置技巧
- 封装原生javascript连缀
- Docker CLI命令小结
- 13-CSS代码缩写,占用更少带宽
- IO流下载文件,支持中文
- CentOS6.5使用yum命令方便快捷安装Nginx
- 1.系统移植——基础知识
- tomcat的默认程序发布路径的使用与修改
- 从今日起开始在CSDN上编写自己的博客
- Java NIO:浅析I/O模型
- gulp.js--基于流的自动化构建工具
- 大数据技术Hadoop面试题,看看你能答对多少?(16)
- IOS导航,tabBar快速创建