MultipartFile 轉(zhuǎn)File工具類

有時(shí)候上傳文件時(shí),我們會(huì)涉及到操作上傳文件實(shí)體MultipartFile 做一些IO操作,但是有時(shí)無法操作文件,只能轉(zhuǎn)換為file才可以。


import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * @Description:
 * @date 2019/9/23 10:21
 */
public class MultipartFileToFileUtils {

    /**
     * MultipartFile 轉(zhuǎn) File
     * @param file
     * @throws Exception
     */
    public static File multipartFileToFile(MultipartFile file ) throws Exception {
        File toFile = null;
        if(file.equals("")||file.getSize()<=0){
            file = null;
        }else {
            InputStream ins = null;
            ins = file.getInputStream();
            toFile = new File(file.getOriginalFilename());
            toFile = inputStreamToFile(ins, toFile);
            ins.close();
        }
        return toFile;
    }


    private static File inputStreamToFile(InputStream ins, File file) {
        try {
            OutputStream os = new FileOutputStream(file);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            ins.close();
            return file;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
    /**
     * 圖片上傳
     *
     * @param file 圖片文件
     * @return 圖片地址
     */
    @Override
    public String uploadPicture(MultipartFile file) throws Exception {
       //將MultipartFile 轉(zhuǎn)換為File 
        File localFile = MultipartFileToFileUtils.multipartFileToFile(file);
        String imgUrl = uploadUtils.uploadImg(localFile);
        log.info("web upload image url:{}", imgUrl);
        return imgUrl;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 6,016評(píng)論 0 9
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,353評(píng)論 0 10
  • 一、基礎(chǔ)知識(shí):1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,575評(píng)論 0 4
  • 1、IO介紹 在前期的學(xué)習(xí)上述知識(shí)點(diǎn)的過程中,我們書寫的任何程序,它運(yùn)行的時(shí)候都會(huì)有數(shù)據(jù)的產(chǎn)生,比如時(shí)間數(shù)據(jù),而這...
    Villain丶Cc閱讀 1,586評(píng)論 0 3
  • 我的一悲一喜 全都牽動(dòng)著你 你的一悲一喜 全都展現(xiàn)給我 真好 我有你靜靜守護(hù)在后 小時(shí)候媽媽罰我跪在外面時(shí) ...
    裊裊于煙閱讀 372評(píng)論 2 1

友情鏈接更多精彩內(nèi)容