1. 程式人生 > 程式設計 >SpringMVC 上傳檔案 MultipartFile 轉為 File的方法

SpringMVC 上傳檔案 MultipartFile 轉為 File的方法

在使用 SpringMVC 上傳檔案時,接收到的檔案格式為 MultipartFile,但是在很多場景下使用都需要File格式的檔案,記錄下以便日後使用。

以下mFile為MultipartFile檔案
此方法會在本地產生臨時檔案,使用完畢需要刪除
在網上搜索未發現可直接使用的不產生臨時檔案的方法,查到幾個本地測試皆無法通過,如哪位有不產生臨時檔案的方法,請多多指教👍

MultipartFile 轉為 File

File file = new File(mFile.getOriginalFilename());
FileUtils.copyInputStreamToFile(mFile.getInputStream(),file);
// 會在本地產生臨時檔案,用完後需要刪除
if (file.exists()) {
  file.delete();
}

MultipartFile 獲取 Base64 編碼

File file = new File(mFile.getOriginalFilename());
FileUtils.copyInputStreamToFile(mFile.getInputStream(),file);
try (FileInputStream fis = new FileInputStream(file)) {
  byte[] buf = new byte[(int) file.length()];
  fis.read(buf);
  return new String(Base64.encodeBase64(buf),StandardCharsets.ISO_8859_1);
} catch (IOException e) {
  log.error(e.getMessage(),e);
} finally {
  if (file.exists()) {
    file.delete();
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。