Files
yjearth/src/main/java/com/yj/earth/common/util/FileCommonUtil.java

52 lines
1.6 KiB
Java
Raw Normal View History

2025-09-29 13:56:36 +08:00
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;
}
}
}