此處作一下小的彙總,
針對Jetty容器內,存在excel的xlsx文件直接經過連接的方式下載的時候,若是是在Chrome瀏覽器時,則直接觸發瀏覽器的下載行爲,
可是在IE11的瀏覽器上,則瀏覽器會直接進行打開該文件,重點是瀏覽器進行打開該文件的時候,打開後必然是亂碼的,這中狀況必然是錯誤的,
可是若是是xls的Excel文件也是就2007老版本的excel文件,則IE瀏覽器便會提示進行下載,因此緣由即是當瀏覽器支持該文件格式的預覽的時候,
則直接打開,不支持時則默認爲下載提示,(由於此處是直接訪問Jetty容器中的excel文件,而不是代碼中經過流的方式返回的文件流,若是是代碼中
返回文件流,則直接設置對應的response的響應類型爲download便可,但此處既然是經過Jetty默認的方式進行的文件下載,則1.更改Jetty的默認配置,
配置使其在下載指定類型的流文件時,使其重複瀏覽器的下載行爲,而並不是直接打開的行爲,2.則是設置瀏覽器IE的行爲,針對某一類型的文件流,默認不進行打開的設置,
此處使用設置Jetty方式進行調整,即設置Jetty的MIME協議類型映射,針對xls和xlsx文件類型,統一映射的MIME類型爲application/msexcel,
Jetty中的配置方式則爲:更改Jetty下etc目錄下的webDefault.xml的配置,增長MIME類型的協議映射,
截圖配置以下:
此處主要另外還說明一點則是:針對Jetty中間件對請求的編碼的映射,等等也是在該webdefault.xml中進行配置,如該文件中的: <locale-encoding-mapping-list>用於配置指定編碼映射,
可參考:https://www.cnblogs.com/gis2s/articles/3321893.html,包括對應的Jetty對靜態文件的緩存的去除也是能夠配置該文件的useFileMappedBuffer屬性,參考:
https://blog.csdn.net/wwsscc168/article/details/51095099,而對於配置當前Jetty對線程數量的支持,以及訪問的超時時間等,能夠詳細了接下jetty.xml的一些配置信息,
附上百度百科對MIME協議的講解截圖:
轉自:https://blog.csdn.net/wxwlife2006/article/details/8115273#commentBoxjavascript
這幾天一貫很納悶,在Tomcat安排的網站中的下載文件中,如果文件是rar類型的,一點擊下載rar文件就直接打開,而且呈現亂碼,右鍵另存爲瀏覽器也是默認爲html格局,一貫認爲是瀏覽器IE的題目,後來發明其實不關瀏覽器的題目,而是Tomcat辦事器設備的題目,具體以下:php
web.xml文件中設備<mime-mapping>下載文件類型
TOMCAT在默認景象下下載.rar的文件是把文件算做text打開,以致於IE打開RAR文件爲亂碼,如果碰到這種景象時沒必要認爲是瀏覽器的題目,大多半瀏覽器應當不會逝世皮賴臉地把二進制文件算做文本打開,通常都是辦事器給什麼瀏覽器就開什麼.解決辦法: css
打開conf/web.xml,參加下面的代碼. html
<mime-mapping> <extension>doc</extension> <mime-type>application/msword</mime-type> </mime-mapping> <mime-mapping> <extension>xls</extension> <mime-type>application/msexcel</mime-type> </mime-mapping> <mime-mapping> <extension>pdf</extension> <mime-type>application/pdf</mime-type> </mime-mapping> <mime-mapping> <extension>zip</extension> <mime-type>application/zip</mime-type> </mime-mapping> <mime-mapping> <extension>rar</extension> <mime-type>application/rar</mime-type> </mime-mapping> <mime-mapping> <extension>txt</extension> <mime-type>application/txt</mime-type> </mime-mapping> <mime-mapping> <extension>chm</extension> <mime-type>application/mshelp</mime-type> </mime-mapping> <mime-mapping> <extension>mp3</extension> <mime-type>audio/x-mpeg</mime-type> </mime-mapping>
重啓TOMCAT,清除IE緩存,再打開RAR的文件時就能夠正常下載了. java
不合的ContentType 會影響客戶端所看到的結果.web
默認的ContentType爲 text/html 也就是網頁格局.瀏覽器
代碼如:緩存
<%
response.ContentType
=
"
text/html
"
%>
<!-- #i nclude virtual = " /ContentType.html " -->
<!-- #i nclude virtual = " /ContentType.html " -->
顯示的爲網頁,而app
<%
response.ContentType
=
"
text/plain
"
%>
<!-- #i nclude virtual = " /sscript/ContentType.html " -->
<!-- #i nclude virtual = " /sscript/ContentType.html " -->
則會顯示html原代碼.koa
如下爲一些經常使用的 ContentType
GIF images
<% response.ContentType = " image/gif " %>
<!-- #i nclude virtual = " /myimage.gif " -->
JPEG images
<% response.ContentType = " image/jpeg " %>
<!-- #i nclude virtual = " /myimage.jpeg " -->
TIFF images
<% response.ContentType = " image/tiff " %>
<!-- #i nclude virtual = " /myimage.tiff " -->
MICROSOFT WORD document
<% response.ContentType = " application/msword " %>
<!-- #i nclude virtual = " /myfile.doc " -->
RTF document
<% response.ContentType = " application/rtf " %>
<!-- #i nclude virtual = " /myfile.rtf " -->
MICROSOFT EXCEL document
<% response.ContentType = " application/x-excel " %>
<!-- #i nclude virtual = " /myfile.xls " -->
MICROSOFT POWERPOINT document
<% response.ContentType = " application/ms-powerpoint " %>
<!-- #i nclude virtual = " /myfile.pff " -->
PDF document
<% response.ContentType = " application/pdf " %>
<!-- #i nclude virtual = " /myfile.pdf " -->
ZIP document
<% response.ContentType = " application/zip " %>
<!-- #i nclude virtual = " /myfile.zip " -->
<% response.ContentType = " image/gif " %>
<!-- #i nclude virtual = " /myimage.gif " -->
JPEG images
<% response.ContentType = " image/jpeg " %>
<!-- #i nclude virtual = " /myimage.jpeg " -->
TIFF images
<% response.ContentType = " image/tiff " %>
<!-- #i nclude virtual = " /myimage.tiff " -->
MICROSOFT WORD document
<% response.ContentType = " application/msword " %>
<!-- #i nclude virtual = " /myfile.doc " -->
RTF document
<% response.ContentType = " application/rtf " %>
<!-- #i nclude virtual = " /myfile.rtf " -->
MICROSOFT EXCEL document
<% response.ContentType = " application/x-excel " %>
<!-- #i nclude virtual = " /myfile.xls " -->
MICROSOFT POWERPOINT document
<% response.ContentType = " application/ms-powerpoint " %>
<!-- #i nclude virtual = " /myfile.pff " -->
PDF document
<% response.ContentType = " application/pdf " %>
<!-- #i nclude virtual = " /myfile.pdf " -->
ZIP document
<% response.ContentType = " application/zip " %>
<!-- #i nclude virtual = " /myfile.zip " -->
下面是更具體的ContentType
application
/
andrew
-
inset ez
application / mac - binhex40 hqx
application / mac - compactpro cpt
application / mathml + xml mathml
application / msword doc
application / octet - stream bin dms lha lzh exe class so dll
application / oda oda
application / ogg ogg
application / pdf pdf
application / postscript ai eps ps
application / rdf + xml rdf
application / smil smi smil
application / srgs gram
application / srgs + xml grxml
application / vnd.mif mif
application / vnd.mozilla.xul + xml xul
application / vnd.ms - excel xls
application / vnd.ms - powerpoint ppt
application / vnd.wap.wbxml wbxml
application / vnd.wap.wmlc .wmlc wmlc
application / vnd.wap.wmlscriptc .wmlsc wmlsc
application / voicexml + xml vxml
application / x - bcpio bcpio
application / x - cdlink vcd
application / x - chess - pgn pgn
application / x - cpio cpio
application / x - csh csh
application / x - director dcr dir dxr
application / x - dvi dvi
application / x - futuresplash spl
application / x - gtar gtar
application / x - hdf hdf
application / x - httpd - php .php .php4 .php3 .phtml
application / x - httpd - php - source .phps
application / x - javascript js
application / x - koan skp skd skt skm
application / x - latex latex
application / x - netcdf nc cdf
application / x - pkcs7 - crl .crl
application / x - sh sh
application / x - shar shar
application / x - shockwave - flash swf
application / x - stuffit sit
application / x - sv4cpio sv4cpio
application / x - sv4crc sv4crc
application / x - tar .tgz tar
application / x - tcl tcl
application / x - tex tex
application / x - texinfo texinfo texi
application / x - troff t tr roff
application / x - troff - man man
application / x - troff - me me
application / x - troff - ms ms
application / x - ustar ustar
application / x - wais - source src
application / x - x509 - ca - cert .crt
application / xhtml + xml xhtml xht
application / xml xml xsl
application / xml - dtd dtd
application / xslt + xml xslt
application / zip zip
audio / basic au snd
audio / midi mid midi kar
audio / mpeg mpga mp2 mp3
audio / x - aiff aif aiff aifc
audio / x - mpegurl m3u
audio / x - pn - realaudio ram rm
audio / x - pn - realaudio - plugin rpm
audio / x - realaudio ra
audio / x - wav wav
chemical / x - pdb pdb
chemical / x - xyz xyz
image / bmp bmp
image / cgm cgm
image / gif gif
image / ief ief
image / jpeg jpeg jpg jpe
image / png png
image / svg + xml svg
image / tiff tiff tif
image / vnd.djvu djvu djv
image / vnd.wap.wbmp .wbmp wbmp
image / x - cmu - raster ras
image / x - icon ico
image / x - portable - anymap pnm
image / x - portable - bitmap pbm
image / x - portable - graymap pgm
image / x - portable - pixmap ppm
image / x - rgb rgb
image / x - xbitmap xbm
image / x - xpixmap xpm
image / x - xwindowdump xwd
model / iges igs iges
model / mesh msh mesh silo
model / vrml wrl vrml
text / calendar ics ifb
text / css css
text / html .shtml html htm
text / plain asc txt
text / richtext rtx
text / rtf rtf
text / sgml sgml sgm
text / tab - separated - values tsv
text / vnd.wap.wml .wml wml
text / vnd.wap.wmlscript .wmls wmls
text / x - setext etx
video / mpeg mpeg mpg mpe
video / quicktime qt mov
video / vnd.mpegurl mxu
video / x - msvideo avi
video / x - sgi - movie movie
x - conference / x - cooltalk ice
application / mac - binhex40 hqx
application / mac - compactpro cpt
application / mathml + xml mathml
application / msword doc
application / octet - stream bin dms lha lzh exe class so dll
application / oda oda
application / ogg ogg
application / pdf pdf
application / postscript ai eps ps
application / rdf + xml rdf
application / smil smi smil
application / srgs gram
application / srgs + xml grxml
application / vnd.mif mif
application / vnd.mozilla.xul + xml xul
application / vnd.ms - excel xls
application / vnd.ms - powerpoint ppt
application / vnd.wap.wbxml wbxml
application / vnd.wap.wmlc .wmlc wmlc
application / vnd.wap.wmlscriptc .wmlsc wmlsc
application / voicexml + xml vxml
application / x - bcpio bcpio
application / x - cdlink vcd
application / x - chess - pgn pgn
application / x - cpio cpio
application / x - csh csh
application / x - director dcr dir dxr
application / x - dvi dvi
application / x - futuresplash spl
application / x - gtar gtar
application / x - hdf hdf
application / x - httpd - php .php .php4 .php3 .phtml
application / x - httpd - php - source .phps
application / x - javascript js
application / x - koan skp skd skt skm
application / x - latex latex
application / x - netcdf nc cdf
application / x - pkcs7 - crl .crl
application / x - sh sh
application / x - shar shar
application / x - shockwave - flash swf
application / x - stuffit sit
application / x - sv4cpio sv4cpio
application / x - sv4crc sv4crc
application / x - tar .tgz tar
application / x - tcl tcl
application / x - tex tex
application / x - texinfo texinfo texi
application / x - troff t tr roff
application / x - troff - man man
application / x - troff - me me
application / x - troff - ms ms
application / x - ustar ustar
application / x - wais - source src
application / x - x509 - ca - cert .crt
application / xhtml + xml xhtml xht
application / xml xml xsl
application / xml - dtd dtd
application / xslt + xml xslt
application / zip zip
audio / basic au snd
audio / midi mid midi kar
audio / mpeg mpga mp2 mp3
audio / x - aiff aif aiff aifc
audio / x - mpegurl m3u
audio / x - pn - realaudio ram rm
audio / x - pn - realaudio - plugin rpm
audio / x - realaudio ra
audio / x - wav wav
chemical / x - pdb pdb
chemical / x - xyz xyz
image / bmp bmp
image / cgm cgm
image / gif gif
image / ief ief
image / jpeg jpeg jpg jpe
image / png png
image / svg + xml svg
image / tiff tiff tif
image / vnd.djvu djvu djv
image / vnd.wap.wbmp .wbmp wbmp
image / x - cmu - raster ras
image / x - icon ico
image / x - portable - anymap pnm
image / x - portable - bitmap pbm
image / x - portable - graymap pgm
image / x - portable - pixmap ppm
image / x - rgb rgb
image / x - xbitmap xbm
image / x - xpixmap xpm
image / x - xwindowdump xwd
model / iges igs iges
model / mesh msh mesh silo
model / vrml wrl vrml
text / calendar ics ifb
text / css css
text / html .shtml html htm
text / plain asc txt
text / richtext rtx
text / rtf rtf
text / sgml sgml sgm
text / tab - separated - values tsv
text / vnd.wap.wml .wml wml
text / vnd.wap.wmlscript .wmls wmls
text / x - setext etx
video / mpeg mpeg mpg mpe
video / quicktime qt mov
video / vnd.mpegurl mxu
video / x - msvideo avi
video / x - sgi - movie movie
x - conference / x - cooltalk ice
TXT文件作下載的JS實現
<%...@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>無題目文檔</title> <script language="JavaScript">... function openfile(url) ...{ var a =window.open(url,"_blank",""); a.document.execCommand("SaveAs"); a.close(); } </script> </head> <body> <p><a href="#" onclick=""openfile("aa.txt")"">下載</a></p> </body> </html> 轉載請註明出處[http://samlin.cnblogs.com/]