標籤:java 檔案下載 流
public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下載的檔案的路徑。 File file = new File(path); // 取得檔案名稱。 String 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; }
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
java 使用流下載檔案