How to convert a MultipartFile to File?

????在使用SpringMVC上傳文件的時候,前臺傳到后臺的文件可以是CommonsMultipartFile類型的,也可以是MultipartFile類型,但都無法直接轉化為File類型。

? ? SpringMVC提供了一種方法可以將傳過來的文件直接上傳到File指定的文件路徑下(new File(path)),MultipartFile.transferTo(File),這樣就可以直接將前臺傳過來的文件直接存在服務器指定的路徑下。

????通過這種思路,transferTo()的參數需要指定一個File,那意味這需要指定路徑,將會在指定的路徑下生成文件,那么將這個文件通過new File(path),得到的就是File類型的了。

? ? 在不希望設置路徑,也不希望生成文件的情況下可以使用以下兩種方法來轉換:

public File convert(MultipartFile file){

? ? File convFile = new File(file.getOriginalFilename());? ?

????convFile.createNewFile();

? ? FileOutputStream fos = new FileOutputStream(convFile);

? ? fos.write(file.getBytes());? ?

????fos.close();

? ? return convFile;

}


public File multipartToFile(MultipartFile multipart) throws IllegalStateException, IOException{

????File convFile = new File( multipart.getOriginalFilename());

????multipart.transferTo(convFile);

????return convFile;

}


第二種方式相對于第一種較為簡單,也更為較快。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容