-
大小: 190KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-05-14
- 语言: 其他
- 标签:
资源简介
01 下载文件在WebRoot文件夹下的downFile文件夹内.zip
本工程用于演示文件下载,下载文件在WebRoot文件夹下的downFile文件夹内。
本工程编码方式:UTF-8
本工程有效地解决了下载时中文文件名出现乱码的情形。
代码片段和文件信息
package com.ghj.packageofservlet;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
import com.ghj.packageoftool.base64;
public class DownServlet extends HttpServlet {
private static final long serialVersionUID = -4177168327114607886L;
public void doGet(HttpServletRequest request HttpServletResponse response)throws ServletException IOException {
doPost(request response);
}
public void doPost(HttpServletRequest request HttpServletResponse response)throws ServletException IOException {
OutputStream os = response.getOutputStream();
try {
response.reset();
String fileName = “测试.xls“;
String agent = request.getHeader(“user-agent“);
if (agent != null && agent.indexOf(“Firefox“) >= 0 || agent.indexOf(“Chrome“) >= 0 || agent.indexOf(“Safari“) >= 0) {//使用Firefox、Chrome和Safari浏览器下载文件时,解决下载文件名乱码
String enableFileName = “=?UTF-8?B?“ + (new String(base64.encode(fileName.getBytes(“UTF-8“)))) + “?=“;
response.setHeader(“Content-Disposition“ “attachment; filename=“ + enableFileName);
} else {//使用除Firefox、Chrome和Safari浏览器以外的其它浏览器下载文件时,解决下载文件名乱码
String enableFileName = new String(fileName.getBytes(“GBK“) “ISO-8859-1“);
response.setHeader(“Content-Disposition“ “attachment; filename=“ + enableFileName);
}
response.setContentType(“application/octet-stream; charset=UTF-8“);
String path = request.getSession().getServletContext().getRealPath(“/downFile/ceshi.xls“);
File file = new File(path);
os.write(FileUtils.readFileToByteArray(file));
os.flush();
} finally {
if (os != null) {
os.close();
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-06-19 13:49 downFile\
文件 529 2014-06-19 08:25 downFile\.classpath
目录 0 2014-06-19 08:25 downFile\.myeclipse\
文件 297 2014-06-19 08:25 downFile\.myme
文件 1751 2014-06-19 13:47 downFile\.project
目录 0 2014-06-19 13:49 downFile\.settings\
文件 500 2014-06-19 08:25 downFile\.settings\.jsdtscope
文件 364 2014-06-19 08:25 downFile\.settings\org.eclipse.jdt.core.prefs
文件 462 2014-06-19 08:25 downFile\.settings\org.eclipse.wst.common.component
文件 252 2014-06-19 08:25 downFile\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2014-06-19 08:25 downFile\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2014-06-19 08:25 downFile\.settings\org.eclipse.wst.jsdt.ui.superType.name
目录 0 2014-06-19 13:49 downFile\src\
目录 0 2014-06-19 13:49 downFile\src\com\
目录 0 2014-06-19 13:49 downFile\src\com\ghj\
目录 0 2014-06-19 13:49 downFile\src\com\ghj\packageofservlet\
文件 2182 2014-06-19 13:46 downFile\src\com\ghj\packageofservlet\DownServlet.java
目录 0 2014-06-19 13:49 downFile\src\com\ghj\packageoftool\
文件 13753 2014-06-19 13:44 downFile\src\com\ghj\packageoftool\ba
文件 3664 2014-06-19 13:44 downFile\src\com\ghj\packageoftool\ba
文件 3848 2014-06-19 13:44 downFile\src\com\ghj\packageoftool\ba
文件 1065 2014-06-19 13:44 downFile\src\com\ghj\packageoftool\Shared.java
目录 0 2014-06-19 13:49 downFile\WebRoot\
目录 0 2014-06-19 13:49 downFile\WebRoot\downFile\
文件 22016 2014-06-19 08:35 downFile\WebRoot\downFile\ceshi.xls
文件 440 2014-06-19 08:37 downFile\WebRoot\index.jsp
目录 0 2014-06-19 13:49 downFile\WebRoot\me
文件 36 2014-06-19 08:25 downFile\WebRoot\me
目录 0 2014-06-19 13:49 downFile\WebRoot\WEB-INF\
目录 0 2014-06-19 13:49 downFile\WebRoot\WEB-INF\classes\
目录 0 2014-06-19 13:49 downFile\WebRoot\WEB-INF\classes\com\
............此处省略12个文件信息
- 上一篇:class文件编译利器
- 下一篇:qt 动态创建控件
评论
共有 条评论