javaweb 檔案下載
阿新 • • 發佈:2018-11-19
Java後臺檔案下載的方法:
public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下載的檔案的路徑。 File file = new File(path); //如果檔案不存在 if(!file.exists()){ request.setAttribute("message", "您要下載的資源已被刪除!!"); request.setAttribute("flag", "1"); return MANAGER_APK_DECOMPILE_UPDATE_URL; } // 取得檔名。 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; }