java实现服务器上的文件下载

public String downVersion(HttpServletRequest request,HttpServletResponse response){
try {
String apkurl=request.getParameter("fileUrl");//fileUrl是从前台传过来的文件下载路径(相对路径)
String filepath = request.getSession().getServletContext()
.getRealPath("")
+ apkurl;//filepath为下载文件的绝对路径
File file = new File(filepath);
if (file.exists()) {//文件存在
InputStream in = new FileInputStream(file);
OutputStream os = response.getOutputStream();
response.setCharacterEncoding("utf-8");
response.addHeader("Content-Disposition",
"attachment;filename=" + new String((file.getName()).getBytes("GB2312"),"iso8859-1")) ;//此行代码可避免中文文件名乱码问题
response.addHeader("Content-Length", file.length() + "");

response.setContentType("application/octet-stream");
int data = 0;
while ((data = in.read()) != -1) {
os.write(data);
}
os.close();
in.close();
}else{
response.setCharacterEncoding("utf-8");
response.getWriter().print("");
}

} catch (Exception e) {
}
return null;
}

相关主题
相关文档
最新文档