大家好,又见面了,我是你们的朋友全栈君。
public static HttpServletResponse download(String path, HttpServletResponse response, String fileName) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 String filename = fileName; if(StringUtils.isEmpty(fileName)){ filename = file.getName(); } // 取得文件的后缀名。 String ext = filename.substring(filename.lastIndexOf(“.”) 1).toUpperCase();
// 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); // 设置response的Header response.addHeader(“Content-Disposition”, “attachment;filename=” new String(filename.getBytes())); response.addHeader(“Content-Length”, “” file.length()); OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType(“application/octet-stream”); toClient.write(buffer); toClient.flush(); toClient.close(); } catch (IOException ex) { ex.printStackTrace(); } return response; }
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157191.html原文链接:https://javaforall.cn