rain
2024-04-17 b6294bd36b3023e18606c77553fe136e6500a4b2
src/main/java/com/dji/sample/patches/utils/MultipartFileTOFileUtil.java
@@ -1,26 +1,28 @@
package com.dji.sample.patches.utils;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.*;
import java.util.UUID;
public class MultipartFileTOFileUtil {
    public File multipartFile2File(MultipartFile multipartFile) {
        String tmpFileDir = null;
    /**
     * MultiparFile转File
     * @param multipartFile
     * @param unzipPath
     * @return
     */
    public static File multipartFile2File(MultipartFile multipartFile, String unzipPath) {
        // 创建临时文件
        String randomFileName = UUID.randomUUID().toString();
        tmpFileDir = "/home/drone/server/temp" + randomFileName;
        String tmpFileDir = unzipPath + randomFileName;
        File file = new File(tmpFileDir);
        InputStream inputStream = null;
        FileOutputStream outputStream = null;
        try {
            // 获取文件输入流
            inputStream = multipartFile.getInputStream();
            if (!file.exists()) {
                file.createNewFile();
            }
@@ -35,7 +37,23 @@
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        ZipUtil.deleteFiles(tmpFileDir);
        return file;
    }
    public static MultipartFile convert(File file) throws IOException {
        FileInputStream input = new FileInputStream(file);
        MultipartFile multipartFile = new MockMultipartFile("file",
                file.getName(), "application/octet-stream", input);
        return multipartFile;
    }
    /**
     * 将文件转换为MultipartFile类型。
     * @param file 需要转换的文件对象,不可为null。
     * @throws IOException 如果在读取文件时发生错误,则抛出IOException。
     */
    public static void deleteFile(File file) {
        if (file.exists()) {
            file.delete();
        }
    }
}