• 大小: 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\.mymetadata
     文件        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.xml
     文件          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\base64.java
     文件        3664  2014-06-19 13:44  downFile\src\com\ghj\packageoftool\base64InputStream.java
     文件        3848  2014-06-19 13:44  downFile\src\com\ghj\packageoftool\base64OutputStream.java
     文件        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\meta-INF\
     文件          36  2014-06-19 08:25  downFile\WebRoot\meta-INF\MANIFEST.MF
     目录           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个文件信息

评论

共有 条评论

相关资源