From db1d6e4efeb0d1d51ac3037ed25484a090726ed6 Mon Sep 17 00:00:00 2001 From: "j.yao.SUSE" Date: Sun, 29 Sep 2019 10:52:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8MimeType=20=E7=B1=BB=E5=BA=93?= =?UTF-8?q?=E5=88=A4=E5=AE=9A=E6=96=87=E4=BB=B6=E7=B1=BB=E5=9E=8B=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E7=A9=B7=E4=B8=BE=E4=B8=8D=E5=88=B0=E4=BD=8D?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=20(#131)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/me/zhengjie/utils/FileUtil.java | 9 ++++++++- .../zhengjie/service/impl/LocalStorageServiceImpl.java | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java index 0bd59edd..d0d24649 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java @@ -8,6 +8,8 @@ import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.ExcelWriter; import me.zhengjie.exception.BadRequestException; import org.springframework.web.multipart.MultipartFile; + +import javax.activation.MimetypesFileTypeMap; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -231,7 +233,12 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { return "视频"; } else return "其他"; } - + public static String getFileTypeByMimeType(String type) { +// URLConnection.guessContentTypeFromName("." + type) +// way 2 new MimetypesFileTypeMap().getContentType("."+ "txt") + String mimeType = new MimetypesFileTypeMap().getContentType("." + type); + return mimeType.split("\\/")[0]; + } public static void checkSize(long maxSize, long size) { if(size > (maxSize * 1024 * 1024)){ throw new BadRequestException("文件超出规定大小"); diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java index 55c40dfd..fd917699 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java @@ -63,7 +63,7 @@ public class LocalStorageServiceImpl implements LocalStorageService { public LocalStorageDTO create(String name, MultipartFile multipartFile) { FileUtil.checkSize(maxSize, multipartFile.getSize()); String suffix = FileUtil.getExtensionName(multipartFile.getOriginalFilename()); - String type = FileUtil.getFileType(suffix); + String type = FileUtil.getFileTypeByMimeType(suffix); File file = FileUtil.upload(multipartFile, path + type + File.separator); try { name = StringUtils.isBlank(name) ? FileUtil.getFileNameNoEx(multipartFile.getOriginalFilename()) : name; @@ -115,4 +115,4 @@ public class LocalStorageServiceImpl implements LocalStorageService { localStorageRepository.delete(storage); } } -} \ No newline at end of file +}