文件下载
来源:互联网 发布:淘宝网臭豆腐4号碗 编辑:程序博客网 时间:2024/06/07 00:48
所有格式的文件下载
package com.xu.bean;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class DownloadFile extends HttpServlet{ /** * */private static final long serialVersionUID = 1L;public void downloadFile(HttpServletResponse response, HttpServletRequest request){ String filePath = request.getParameter("FILE_PATH");//D:\guildFile\adviceNote_1493028164967_Jellyfish.jpgString fileName = request.getParameter("FILE_NAME");// /adviceNote_1493028164967_Jellyfish.jpgfileName = fileName.substring(1, fileName.length());BufferedInputStream bis = null; BufferedOutputStream bos = null; try { String finalPath = filePath; File file = new File(finalPath); if (file.exists() && file.isFile()) { byte[] buff = new byte[1024]; long fileLength = new File(finalPath).length(); response.setContentType("multipart/form-data"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + URLEncoder.encode(fileName, "UTF-8") + ";filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); response.setHeader("Content-Length", String.valueOf(fileLength)); bis = new BufferedInputStream(new FileInputStream(finalPath)); bos = new BufferedOutputStream(response.getOutputStream()); int bytesRead; while ((bytesRead = bis.read(buff, 0, buff.length)) != -1) { bos.write(buff, 0, bytesRead); } } else { System.out.println("文件不存在"); } } catch (UnsupportedEncodingException e) { } catch (FileNotFoundException e) { } catch (IOException e) { } finally { if (bis != null) { try { bis.close(); } catch (IOException e) { } } if (bos != null) { try { bos.close(); } catch (IOException e) { } } } }}