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

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

相关文档
最新文档