response.setContentType()的作用及参数
response.setContentType的作用及参数response.setContentType作用content-type对照表参考优秀文章response.setContentType作用response.setContentType(MIME)的作用是使客户端浏览器区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。MIME映射策略就是在网页中使用
response.setContentType的作用及参数
response.setContentType作用
response.setContentType(MIME)的作用是使客户端浏览器区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
MIME映射策略就是在网页中使用哪个应用程序(即插件),打开哪种文件。
例如web浏览器就是通过MIME类型来判断文件是PNG图片。通过MIME类型来处理json字符串。
请看如下代码案例:
@GetMapping("getImage")
public void getPngImage(HttpServletResponse response) throws IOException {
// 利用 输入流从磁盘中读取一个jpg的图片
String imagePath = "E:\\壁纸\\8b82b9014a90f6030add233a3b12b31bb051ed5a.jpg";
FileInputStream in = new FileInputStream(imagePath);
// 设置响应给客户端的文件格式
response.setContentType("image/jpeg");
// 获取响应体的输出流
ServletOutputStream os = response.getOutputStream();
// 用 BufferedOutputStream(处理流/包装流)来包装上面那个输出流
BufferedOutputStream bos = new BufferedOutputStream(os);
byte[] buff = new byte[1024];
int len = 0;
// 输入流读入字节码内容
while ((len = in.read(buff, 0, 1024)) != -1) {
// 输出流写出字节码内容
bos.write(buff, 0, len);
}
// 关闭输出流
if (bos != null)
bos.close();
// 关闭输入流
if (in != null)
bos.close();
}
这是一个controller层的一个接口
该接口首先从本地磁盘读取一个jpg格式的图片,最后以流的形式返回给客户端
重点看这个代码:
// 设置响应给客户端的文件格式
response.setContentType("image/jpeg");
此时我设置的response响应格式为image/jpeg,咱们请求一下接口看看浏览器解析的数据

可以看出浏览器解析出来的就是一个图片,很正确
接下来我们修改response.setContentType 为 audio/mp3(音频)
// 设置响应给客户端的文件格式
response.setContentType("audio/mp3");

可以看出,此时浏览器是将文件以音频的格式解析的,但是该文件本身是一个图片,因此什么声音也没有
改成pdf格式
// 设置响应给客户端的文件格式
response.setContentType("application/pdf");

原理和上面那个一样,我就不解释了
相信根据上面的案例大家应该明白response.setContentType怎么玩的了,接下来我为大家总结一些 文件格式与content-type的对应数据
SpringMVC produces与setContentType
【SpringMVC produces&headers&consumes】
content-type对照表
| 文件扩展名 | Content-Type(Mime-Type) |
|---|---|
| .*( 二进制流,不知道下载文件类型) | application/octet-stream |
| .tif | image/tiff |
| .001 | application/x-001 |
| .301 | application/x-301 |
| .323 | text/h323 |
| .906 | application/x-906 |
| .907 | drawing/907 |
| .a11 | application/x-a11 |
| .acp | audio/x-mei-aac |
| .ai | application/postscript |
| .aif | audio/aiff |
| .aifc | audio/aiff |
| .aiff | audio/aiff |
| .anv | application/x-anv |
| .asa | text/asa |
| .asf | video/x-ms-asf |
| .asp | text/asp |
| .asx | video/x-ms-asf |
| .au | audio/basic |
| .avi | video/avi |
| .awf | application/vnd.adobe.workflow |
| .biz | text/xml |
| .bmp | application/x-bmp |
| .bot | application/x-bot |
| .c4t | application/x-c4t |
| .c90 | application/x-c90 |
| .cal | application/x-cals |
| .cat | application/vnd.ms-pki.seccat |
| .cdf | application/x-netcdf |
| .cdr | application/x-cdr |
| .cel | application/x-cel |
| .cer | application/x-x509-ca-cert |
| .cg4 | application/x-g4 |
| .cgm | application/x-cgm |
| .cit | application/x-cit |
| .class | java/* |
| .cml | text/xml |
| .cmp | application/x-cmp |
| .cmx | application/x-cmx |
| .cot | application/x-cot |
| .crl | application/pkix-crl |
| .crt | application/x-x509-ca-cert |
| .csi | application/x-csi |
| .css | text/css |
| .cut | application/x-cut |
| .dbf | application/x-dbf |
| .dbm | application/x-dbm |
| .dbx | application/x-dbx |
| .dcd | text/xml |
| .dcx | application/x-dcx |
| .der | application/x-x509-ca-cert |
| .dgn | application/x-dgn |
| .dib | application/x-dib |
| .dll | application/x-msdownload |
| .doc | application/msword |
| .dot | application/msword |
| .drw | application/x-drw |
| .dtd | application/xml-dtd |
| .dwf | Model/vnd.dwf |
| .dwf | application/x-dwf |
| .dwg | application/x-dwg |
| .dxb | application/x-dxb |
| .dxf | application/x-dxf |
| .edn | application/vnd.adobe.edn |
| .emf | application/x-emf |
| .eml | message/rfc822 |
| .ent | text/xml |
| .epi | application/x-epi |
| .eps | application/x-ps |
| .eps | application/postscript |
| .etd | application/x-ebx |
| .exe | application/x-msdownload |
| .fax | image/fax |
| .fdf | application/vnd.fdf |
| .fif | application/fractals |
| .fo | text/xml |
| .frm | application/x-frm |
| .g4 | application/x-g4 |
| .gbr | application/x-gbr |
| .gif | image/gif |
| .gl2 | application/x-gl2 |
| .gp4 | application/x-gp4 |
| .hgl | application/x-hgl |
| .hmr | application/x-hmr |
| .hpg | application/x-hpgl |
| .hpl | application/x-hpl |
| .hqx | application/mac-binhex40 |
| .hrf | application/x-hrf |
| .hta | application/hta |
| .htc | text/x-component |
| .htm | text/html |
| .html | text/html |
| .htt | text/webviewhtml |
| .htx | text/html |
| .icb | application/x-icb |
| .ico | image/x-icon |
| .ico | application/x-ico |
| .iff | application/x-iff |
| .ig4 | application/x-g4 |
| .igs | application/x-igs |
| .iii | application/x-iphone |
| .img | application/x-img |
| .ins | application/x-internet-signup |
| .isp | application/x-internet-signup |
| .IVF | video/x-ivf |
| .java | java/* |
| .jfif | image/jpeg |
| .jpe | image/jpeg |
| .jpe | application/x-jpe |
| .jpeg | image/jpeg |
| .jpg | image/jpeg |
| .jpg | application/x-jpg |
| .js | application/x-javascript |
| .jsp | text/html |
| .la1 | audio/x-liquid-file |
| .lar | application/x-laplayer-reg |
| .latex | application/x-latex |
| .lavs | audio/x-liquid-secure |
| .lbm | application/x-lbm |
| .lmsff | audio/x-la-lms |
| .ls | application/x-javascript |
| .ltr | application/x-ltr |
| .m1v | video/x-mpeg |
| .m2v | video/x-mpeg |
| .m3u | audio/mpegurl |
| .m4e | video/mpeg4 |
| .mac | application/x-mac |
| .man | application/x-troff-man |
| .math | text/xml |
| .mdb | application/msaccess |
| .mdb | application/x-mdb |
| .mfp | application/x-shockwave-flash |
| .mht | message/rfc822 |
| .mhtml | message/rfc822 |
| .mi | application/x-mi |
| .mid | audio/mid |
| .midi | audio/mid |
| .mil | application/x-mil |
| .mml | text/xml |
| .mnd | audio/x-musicnet-download |
| .mns | audio/x-musicnet-stream |
| .mocha | application/x-javascript |
| .movie | video/x-sgi-movie |
| .mp1 | audio/mp1 |
| .mp2 | audio/mp2 |
| .mp2v | video/mpeg |
| .mp3 | audio/mp3 |
| .mp4 | video/mpeg4 |
| .mpa | video/x-mpg |
| .mpd | application/vnd.ms-project |
| .mpe | video/x-mpeg |
| .mpeg | video/mpg |
| .mpg | video/mpg |
| .mpga | audio/rn-mpeg |
| .mpp | application/vnd.ms-project |
| .mps | video/x-mpeg |
| .mpt | application/vnd.ms-project |
| .mpv | video/mpg |
| .mpv2 | video/mpeg |
| .mpw | application/vnd.ms-project |
| .mpx | application/vnd.ms-project |
| .mtx | text/xml |
| .mxp | application/x-mmxp |
| .nrf | application/x-nrf |
| .nws | message/rfc822 |
| .odc | text/x-ms-odc |
| .out | application/x-out |
| .p10 | application/pkcs10 |
| .p12 | application/x-pkcs12 |
| .pci | application/x-pci |
| application/pdf | |
| .pdx | application/vnd.adobe.pdx |
| .png | image/png |
| .png | application/x-png |
| .pot | application/vnd.ms-powerpoint |
| .ppt | application/vnd.ms-powerpoint |
| .c4t | application/x-c4t |
| .ppt | application/x-ppt |
| .pr | application/x-pr |
| .prf | application/pics-rules |
| .ps | application/x-ps |
| .ps | application/postscript |
| .rat | application/rat-file |
| .rdf | text/xml |
| .rgb | application/x-rgb |
| .rm | application/vnd.rn-realmedia |
| .rmf | application/vnd.adobe.rmf |
| .smil | application/smil |
| .stl | application/vnd.ms-pki.stl |
| .svg | text/xml |
| .svg | image/svg+xml |
| .tsd | text/xml |
| .txt | text/plain |
| .vss | application/vnd.visio |
| .vst | application/vnd.visio |
| .wav | audio/wav |
| .wb1 | application/x-wb1 |
| .ws | application/x-ws |
| .wsdl | text/xml |
| .xhtml | text/html |
| .xls | application/vnd.ms-excel |
| .xls | application/x-xls |
| .xlw | application/x-xlw |
| .xsl | text/xml |
| .ipa | application/vnd.iphone |
| .apk | application/vnd.android.package-archive |
| .xap | application/x-silverlight-app |
| .z | application/x-compress |
| .zabw | application/x-abiword |
| .zip | application/zip |
| .zoo | application/x-zoo |
参考优秀文章
【 人工智能 content-type对照表 】
【一文彻底读懂response.setContentType()的作用及参数】
更多推荐

所有评论(0)