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

[学习笔记]Java下载文件

2017-03-14 15:49 447 查看
/**
* 完成功能:使浏览器自带下载工具下载某文件
* @param request
* @param response
* @param docPath   需要下载文件的路径
*/
public static void checkDoc(HttpServletRequest request, HttpServletResponse response,String docPath) {
File f=new File(docPath);
String filename = docPath.substring(docPath.lastIndexOf("/") + 1);
try {
String downloadFilename = filename;
String agent = request.getHeader("User-Agent");
if (agent.contains("MSIE")) {
downloadFilename = URLEncoder.encode(filename, "utf-8");
downloadFilename = filename.replace("+", " ");
} else if (agent.contains("Firefox")) {
BASE64Encoder base64Encoder = new BASE64Encoder();
downloadFilename = "=?utf-8?B?" + base64Encoder.encode(filename.getBytes("utf-8")) + "?=";
} else {
downloadFilename = URLEncoder.encode(filename, "utf-8");

}
response.setContentType(request.getSession().getServletContext().getMimeType(filename));
response.setHeader("Content-Disposition", "attachment;filename=" + downloadFilename);

InputStream in = new FileInputStream(docPath);
OutputStream out = response.getOutputStream();
IOUtils.copy(in, out);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: