关闭

javaweb文件下载方式总结

标签: javaweb文件下载response下载直接下载response输出流response文件下载
130人阅读 评论(0) 收藏 举报
分类:

java中常用的两种下载方式总结:

1)将文件放在webroot目录中,WEB-INF外,这样当请求下载时,返回页面一个相对路径或者绝对路径(即将可访问资源文件直接返回给页面),通过页面访问资源的形式,进行下载;


2)将资源的输入流写入response的输出流,再将携带资源流的response返回页面,达到下载目的

        public void download(String sPath, HttpServletResponse response) {
File oFile = new File(sPath);
if (!oFile.exists()) {
return;
}
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", "attachment;filename=" + oFile.getName());
response.addHeader("Content-Length", "" + oFile.length());
InputStream oInputStream = null;
try {
oInputStream = new FileInputStream(oFile);
ServletOutputStream sops = response.getOutputStream();
byte[] buffer = new byte[1024];
int nTempLength = 0;
while ((nTempLength = oInputStream.read(buffer, 0, 1024)) != -1) {
sops.write(buffer, 0, nTempLength);
}
} catch(IOException e) {
e.printStackTrace();
} finally {
                if (oInputStream != null) {
                try {
oInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
                }
}
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:95356次
    • 积分:2026
    • 等级:
    • 排名:第19085名
    • 原创:100篇
    • 转载:45篇
    • 译文:2篇
    • 评论:6条
    最新评论