This commit is contained in:
Looly
2023-05-14 23:43:46 +08:00
parent 7894e58171
commit 31f88c5c94
2 changed files with 20 additions and 15 deletions

View File

@@ -2680,23 +2680,24 @@ public class FileUtil extends PathUtil {
* @since 4.1.15
*/
public static String getMimeType(final String filePath) {
String contentType = URLConnection.getFileNameMap().getContentTypeFor(filePath);
if (null == contentType) {
// 补充一些常用的mimeType
if (StrUtil.endWithIgnoreCase(filePath, ".css")) {
contentType = "text/css";
} else if (StrUtil.endWithIgnoreCase(filePath, ".js")) {
contentType = "application/x-javascript";
} else if (StrUtil.endWithIgnoreCase(filePath, ".rar")) {
contentType = "application/x-rar-compressed";
} else if (StrUtil.endWithIgnoreCase(filePath, ".7z")) {
contentType = "application/x-7z-compressed";
} else if (StrUtil.endWithIgnoreCase(filePath, ".wgt")) {
contentType = "application/widget";
}
if(StrUtil.isBlank(filePath)){
return null;
}
// 补充
// 补充一些常用的mimeType
if (StrUtil.endWithIgnoreCase(filePath, ".css")) {
return "text/css";
} else if (StrUtil.endWithIgnoreCase(filePath, ".js")) {
return "application/x-javascript";
} else if (StrUtil.endWithIgnoreCase(filePath, ".rar")) {
return "application/x-rar-compressed";
} else if (StrUtil.endWithIgnoreCase(filePath, ".7z")) {
return "application/x-7z-compressed";
} else if (StrUtil.endWithIgnoreCase(filePath, ".wgt")) {
return "application/widget";
}
String contentType = URLConnection.getFileNameMap().getContentTypeFor(filePath);
if (null == contentType) {
contentType = getMimeType(Paths.get(filePath));
}

View File

@@ -431,6 +431,10 @@ public class FileUtilTest {
// pr#2617@Github
mimeType = FileUtil.getMimeType("test.wgt");
Assertions.assertEquals("application/widget", mimeType);
// issue#3092
mimeType = FileUtil.getMimeType("https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx.webp");
Assertions.assertEquals("image/webp", mimeType);
}
@Test