SpringMVC 上傳檔案 MultipartFile 轉為 File的方法
阿新 • • 發佈:2020-02-11
在使用 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(); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。