package com.yj.earth.common.util; import org.springframework.http.MediaType; import org.springframework.mock.web.MockMultipartFile; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class FileCommonUtil { /** * 将本地文件转换为 MultipartFile */ public static MultipartFile convertToMultipartFile(File file) { try (FileInputStream inputStream = new FileInputStream(file)) { return new MockMultipartFile( "files", file.getName(), MediaType.APPLICATION_OCTET_STREAM_VALUE, inputStream ); } catch (IOException e) { return null; } } public static MediaType getImageMediaType(String suffix) { String lowerSuffix = suffix.toLowerCase(); switch (lowerSuffix) { case "jpg": case "jpeg": return MediaType.IMAGE_JPEG; case "glb": return MediaType.valueOf("model/gltf-binary"); case "png": return MediaType.IMAGE_PNG; case "gif": return MediaType.IMAGE_GIF; case "bmp": return MediaType.valueOf("image/bmp"); case "webp": return MediaType.valueOf("image/webp"); case "svg": return MediaType.valueOf("image/svg+xml"); default: return MediaType.APPLICATION_OCTET_STREAM; } } }