JavaWeb文件下载功能实例代码

前端技术 2023/09/03 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();
  }
 }
 }

以上就是本文JavaWeb文件下载的代码,希望对大家的学习有所帮助,也希望大家多多支持phpstudy。

本文地址:https://www.stayed.cn/item/6457

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。