ContentDisposition 响应头,设置文件在浏览器打开还是下载(pdf文件在浏览器预览功能)图片预览功能浏览器下载功能

Content-Disposition 属性是作为对下载文件的一个标识字段,在rfc2616 http://www.rfc-editor.org/rfc/rfc2616.pdf 章节19.5 Additional Features中

有介绍,具体介绍请看 http://www.rfc-editor.org/rfc/rfc1806.txt

字段介绍如下:

  1.  
     
  2.  
    disposition := "Content-Disposition" ":"
  3.  
    disposition-type
  4.  
    *(";" disposition-parm)
  5.  
    disposition-type := "inline"
  6.  
    / "attachment"
  7.  
    / extension-token
  8.  
    ; values are not case-sensitive
  9.  
    disposition-parm := filename-parm / parameter
  10.  
    filename-parm := "filename" "=" value;

Content-Disposition属性有两种类型:inline 和 attachment

inline :将文件内容直接显示在页面

  1.  
    File file = new File("rfc1806.txt");
  2.  
    String filename = file.getName();
  3.  
    response.setHeader("Content-Type","text/plain");
  4.  
    response.addHeader("Content-Disposition","inline;filename=" + new String(filename.getBytes(),"utf-8"));
  5.  
    response.addHeader("Content-Length","" + file.length());

attachment:弹出对话框让用户下载

  1.  
    File file = new File("rfc1806.txt");
  2.  
    String filename = file.getName();
  3.  
    response.setHeader("Content-Type","text/plain");
  4.  
    response.addHeader("Content-Disposition","attachment;filename=" + new String(filename.getBytes(),"utf-8"));
  5.  
    response.addHeader("Content-Length","" + file.length());

 
 
原文地址:https://www.cnblogs.com/suizhikuo/p/15661944.html