FileUtils.getContentType的准确性优化,有时候会对下载视频播放造成影响;

This commit is contained in:
thinkgem
2018-11-27 22:14:22 +08:00
parent 32ba7bb0a4
commit 19da4dc3b5
4 changed files with 95 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ import net.sf.jmimemagic.MagicMatch;
public class FileUtils extends org.apache.commons.io.FileUtils {
private static Logger logger = LoggerFactory.getLogger(FileUtils.class);
private static MimetypesFileTypeMap mimetypesFileTypeMap;
/**
* 复制单个文件,如果目标文件存在,则不覆盖
@@ -654,7 +655,10 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
* @return 返回文件类型
*/
public static String getContentType(String fileName) {
return new MimetypesFileTypeMap().getContentType(fileName);
if (mimetypesFileTypeMap == null){
mimetypesFileTypeMap = new MimetypesFileTypeMap();
}
return mimetypesFileTypeMap.getContentType(fileName);
}
/**

View File

@@ -0,0 +1,87 @@
text/html html htm shtml
text/css css
text/xml xml
image/gif gif
image/jpeg jpeg jpg
application/javascript js
application/atom+xml atom
application/rss+xml rss
text/mathml mml
text/plain txt
text/vnd.sun.j2me.app-descriptor jad
text/vnd.wap.wml wml
text/x-component htc
image/png png
image/tiff tif tiff
image/vnd.wap.wbmp wbmp
image/x-icon ico
image/x-jng jng
image/x-ms-bmp bmp
image/svg+xml svg svgz
image/webp webp
application/font-woff woff
application/java-archive jar war ear
application/json json
application/mac-binhex40 hqx
application/msword doc
application/pdf pdf
application/postscript ps eps ai
application/rtf rtf
application/vnd.apple.mpegurl m3u8
application/vnd.ms-excel xls
application/vnd.ms-fontobject eot
application/vnd.ms-powerpoint ppt
application/vnd.wap.wmlc wmlc
application/vnd.google-earth.kml+xml kml
application/vnd.google-earth.kmz kmz
application/x-7z-compressed 7z
application/x-cocoa cco
application/x-java-archive-diff jardiff
application/x-java-jnlp-file jnlp
application/x-makeself run
application/x-perl pl pm
application/x-pilot prc pdb
application/x-rar-compressed rar
application/x-redhat-package-manager rpm
application/x-sea sea
application/x-shockwave-flash swf
application/x-stuffit sit
application/x-tcl tcl tk
application/x-x509-ca-cert der pem crt
application/x-xpinstall xpi
application/xhtml+xml xhtml
application/xspf+xml xspf
application/zip zip
application/octet-stream bin exe dll
application/octet-stream deb
application/octet-stream dmg
application/octet-stream iso img
application/octet-stream msi msp msm
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
audio/midi mid midi kar
audio/mpeg mp3
audio/ogg ogg
audio/x-m4a m4a
audio/x-realaudio ra
video/3gpp 3gpp 3gp
video/mp2t ts
video/mp4 mp4
video/mpeg mpeg mpg
video/quicktime mov
video/webm webm
video/x-flv flv
video/x-m4v m4v
video/x-mng mng
video/x-ms-asf asx asf
video/x-ms-wmv wmv
video/x-msvideo avi

View File

@@ -485,8 +485,8 @@ file:
# application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
# application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation
# 是否文件流方式下载
isFileStreamDown: false
# 是否文件流方式下载(支持断点续传)
isFileStreamDown: true
#======================================#
#========== Message settings ==========#

View File

@@ -497,7 +497,7 @@ logging:
## application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
## application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation
#
# # 是否文件流方式下载
# # 是否文件流方式下载(支持断点续传)
# isFileStreamDown: true
#======================================#