当前位置:主页 > 软件编程 > JAVA代码 >

JavaWeb文件下载功能实例代码

时间:2020-11-19 17:30:56 | 栏目:JAVA代码 | 点击:

在工作中遇到的一个下载文件的功能,自己将其抽取出来,代码简单,希望能帮到大家,好了,话不多说,上代码!

public void downloadFile(File file, String downName, HttpServletRequest request, HttpServletResponse response) {
 OutputStream out = null;
 FileInputStream fin = null;
 BufferedInputStream bin = null;
 try {
  if (file.exists()) {
  String finalFileName = null;
  String agent = request.getHeader("User-Agent");
  boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1);
  if (isMSIE) {
   finalFileName = URLEncoder.encode(downName, "UTF8");
  } else {
   finalFileName = new String(downName.getBytes("UTF-8"), "ISO-8859-1");
  }
  response.setContentType("application/x-msdownload");
  response.setHeader("Content-Disposition", "attachment; filename=".concat(finalFileName));
  out = response.getOutputStream();
  fin = new FileInputStream(file);
  bin = new BufferedInputStream(fin);
  for (int data = bin.read(); data > -1; data = bin.read()) {
   out.write(data);
  }
  } else {
  }
 } catch (Exception e) {
  e.printStackTrace();
 } finally {
  try {
  if (bin != null)
   bin.close();
  if (fin != null)
   fin.close();
  if (out != null)
   out.close();
  } catch (Exception e2) {
  e2.printStackTrace();
  }
 }
 }

您可能感兴趣的文章:

相关文章