美文网首页Java开发
response.setContentType()

response.setContentType()

作者: _浅墨_ | 来源:发表于2022-09-17 20:15 被阅读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()的作用及参数

    相关文章

      网友评论

        本文标题:response.setContentType()

        本文链接:https://www.haomeiwen.com/subject/ieyeortx.html