猴子哥哥的博客

学习交流

javaweb文件下载方式总结

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();
}
                }
}
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21033663/article/details/51563658
个人分类: java
上一篇InputStream、FileInputStream之read()、skip()可靠性加强
下一篇spring中使用@Async注解进行异步处理
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭