Java web 文件上傳和下載是網站開發中經常出現的功能。
在Java web中,可以使用第三方插件或原生Java API來實現文件上傳和下載的功能。下面我們來一一介紹如何實現。
文件上傳
// 1. 獲取上傳文件的MultipartFile對象 MultipartFile file = ((MultipartHttpServletRequest) request).getFile("file"); // 2. 判斷文件是否存在 if (file != null) { // 3. 取得上傳文件名稱 String fileName = file.getOriginalFilename(); // 4. 指定文件上傳的位置 String path = request.getSession().getServletContext().getRealPath("/") + "upload/"; File dir = new File(path); if (!dir.exists()) { dir.mkdirs(); } // 5. 將上傳文件寫入服務器指定位置 File upload = new File(path + fileName); FileUtils.copyInputStreamToFile(file.getInputStream(), upload); }
文件下載
// 1. 設置HTTP響應頭,告訴瀏覽器下載文件 response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); response.setContentType("application/octet-stream"); // 2. 讀取服務器中的文件 InputStream in = new FileInputStream(new File(path + fileName)); OutputStream out = response.getOutputStream(); byte[] buffer = new byte[1024]; int len = -1; while ((len = in.read(buffer)) != -1) { out.write(buffer, 0, len); } in.close(); out.close();
以上是Java web文件上傳和下載的實現方法。簡單明了的代碼讓我們很容易理解其運行流程。實現文件上傳和下載功能可以在網站中提供更好的用戶體驗,達到更好的網站效果。