您的位置:首页 > 编程语言 > Java开发

javaweb文件下载方式总结

2016-06-02 09:15 357 查看
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();
}
                }
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: