Java SSM是一套基于Java語言的Web應用開發框架,它由Spring、Spring MVC和MyBatis三大框架組成。使用Java SSM可以方便快捷地實現Web應用開發,并且還支持文件上傳和下載。
文件上傳是指將本地的文件上傳到服務器,一般用于網站的用戶頭像、商品圖片等。在Java SSM中,文件上傳的實現流程如下:
@RequestMapping(value = "/upload", method = RequestMethod.POST) @ResponseBody public String upload(MultipartFile file) { // 判斷文件是否為空 if (file.isEmpty()) { return "文件不能為空"; } // 獲取文件名 String fileName = file.getOriginalFilename(); // 設置文件上傳路徑 String filePath = "D://upload/"; try { // 將文件寫入指定路徑 FileUtils.writeByteArrayToFile(new File(filePath + fileName), file.getBytes()); } catch (IOException e) { e.printStackTrace(); return "文件上傳失敗"; } return "文件上傳成功"; }
在上述代碼中,我們首先通過注解@RequestMapping(value = "/upload", method = RequestMethod.POST)將上傳接口映射到upload路徑上,然后通過@ResponseBody注解將返回值轉換為JSON格式。在接口中,我們通過MultipartFile接收文件,判斷文件是否為空,獲取文件名并設置文件上傳路徑,然后將文件寫入指定路徑,即可完成文件上傳操作。
文件下載是指將服務器中的文件下載到本地,一般用于網站的用戶下載功能。在Java SSM中,文件下載的實現流程如下:
@RequestMapping(value = "/download", method = RequestMethod.GET) public void download(HttpServletResponse response) { // 設置文件名 String fileName = "demo.txt"; // 設置文件路徑 String filePath = "D://download/"; try { // 獲取文件流 File file = new File(filePath + fileName); InputStream inputStream = new FileInputStream(file); // 創建緩沖區 byte[] buffer = new byte[inputStream.available()]; inputStream.read(buffer); inputStream.close(); // 設置文件類型與下載框 response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1")); OutputStream outputStream = response.getOutputStream(); outputStream.write(buffer); outputStream.flush(); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } }
在上述代碼中,我們首先通過注解@RequestMapping(value = "/download", method = RequestMethod.GET)將下載接口映射到download路徑上。在接口中,我們通過設置文件名和文件路徑讀取文件流,并創建緩沖區。然后設置文件類型與下載框,最后通過response.getOutputStream()方法將文件流寫入輸出流中,即可完成文件下載操作。