| | |
| | | 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 = "${patches.zip.temple.path}" + 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(); |
| | | } |
| | |
| | | } 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(); |
| | | } |
| | | } |
| | | } |