javaweb筆記-MultipartFile轉file
阿新 • • 發佈:2018-12-14
Spring通過對ServletAPI的HttpServletRequest介面進行擴充套件,使其能夠很好地處理檔案上傳。擴充套件後的介面名為org.springframework.web.multipart.MultipartHttpServletRequest。
後端可以通過這種方式來獲取到前端傳過來的檔案:
MultipartHttpServletRequest multipartRequest =(MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("file");
也可以使用@RequestParam註解將請求引數繫結至方法引數
public void upload(@RequestParam("file") MultipartFile multipartFile){
//...
}
然後通過SpringMVC的 transferTo方法,將MultipartFile轉換成File。
簡單轉換程式碼:
public File multipartfileTofile(MultipartFile multipartFile){ String filePath = "E:\\myfile"; File rootfile = new File(filePath); if(!rootfile.exists()){ rootfile.mkdirs(); } String filename = "1.png"; File file= new File(filePath,filename); multipartFile.transferTo(file); return file; }
else:
也可以將MultipartFile格式的檔案轉換成流來進行相關操作,將MultipartFile轉換成流更加簡單,只需要直接調getInputStream()方法即可。
MultipartHttpServletRequest multipartRequest =(MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("file"); InputStream in = multipartFile.getInputStream();
當然,在對流操作完畢後,要注意呼叫close()方法關閉流。