1. 程式人生 > >MultipartFile 轉 File 的兩種方式

MultipartFile 轉 File 的兩種方式

在spring上傳檔案中,一般都使用了MultipartFile來接收,但是有需要用到File的地方,這裡只介紹兩種轉為File的方法,當然也有一些其他的方法,我試了有些錯誤,所以就不提了;

  1. transferTo()
  2. org.apache.commons.io.FileUtils.copyInputStreamToFile()
程式碼如下:
public void upload(@RequestParam(value = "file") MultipartFile file) {
        if (file != null) { 
            try {
                String fileRealName = file.getOriginalFilename();//獲得原始檔名; 
int pointIndex = fileRealName.lastIndexOf(".");//點號的位置 String fileSuffix = fileRealName.substring(pointIndex);//擷取檔案字尾 String fileNewName = DateUtils.getNowTimeForUpload();//檔案new名稱時間戳 String saveFileName = fileNewName.concat(fileSuffix);//檔案存取名
String filePath = "D:\\FileAll" ; File savedFile = new File(filePath); if(!savedFile.exists()){ savedFile.mkdirs(); } savedFile = new File(filePath,saveFileName); boolean isCreateSuccess = savedFile.createNewFile(); if
(isCreateSuccess){ //轉存檔案 file.transferTo(savedFile); //第一種 FileUtils.copyInputStreamToFile(mufile.getInputStream(),savedFile); //第二種 } } catch (Exception e) { e.printStackTrace(); } }else { System.out.println("檔案是空的"); } }

附commons.io jar包maven地址:

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
</dependency>