1. 程式人生 > >javaweb筆記-MultipartFile轉file

javaweb筆記-MultipartFile轉file

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()方法關閉流。