Java开发

response.setContentType()

2022-09-17  本文已影响0人  _浅墨_

简单说,使用 response.setContentType() 可以设置返回客户端的 data 的类型。

技术定义:

在向客户端发送数据之前,Servlet 容器会通知客户端浏览器现在正在发送什么类型的数据。

可以发送的数据可以是简单的纯文本、html、xml、gif或jpg类型的图像形式、excel表格等等。

为了发送信息,Servlet 容器使用带有 setContentType() 方法的响应对象。

setContentType(String) 方法接受一个字符串参数并且不返回任何内容(返回 void)。

在“text/html”中,“text”称为类型,“html”称为子类型。 一个类型包含许多子类型

使用方法的一些方法:

response.setContentType("text/html"); // the most popular one 
response.setContentType("text/plain");  
response.setContentType("text/css"); // Cascading Style Sheet 
response.setContentType("application/html"); 
response.setContentType("image/gif"); 
response.setContentType("application/zip"); 
response.setContentType("application/pdf"); 
经验总结

最近在做一个小需求,即在 markdown 中插入图片,图床使用的 aws s3 。开始时候,根据 s3 oss fileId 获取了一个自己写的文件下载 url(java 后台接口),将链接放入 markdown 中,不能加载图片成功,然而使用阿里云 oss 提供的图像链接就可以正常加载图片。后来对比了一下两个链接返回情况,发现 response ContentType 不同。于是修改自己的图片文件下载 url,将接口返回类型改为 “application/octet-stream”,就可以正常加载图片了。

修改前的 ContentType:

response.setContentType(“application/x-msdownload”);

修改后的 ContentType:

response.setContentType(“application/octet-stream”);

参考:

  1. Why do we use response.set content type in Servlet?
  2. response.setContentType()的作用及参数
上一篇下一篇

猜你喜欢

热点阅读