以前遇到过文件在七牛上,访问是下载而不是预览。
如今是遇到要下载,浏览器却预览了,解决下这个问题。
java后端解决
这就是Content-Disposition设置的问题
设置为inline,如果浏览器支持该文件类型的预览,就会打开预览,而不是下载:
response.setHeader("Content-Disposition", "inline; filename=bailan.jpg");
反之设置为attachment,浏览器则直接进行下载,纵使他能够预览该类型的文件。
response.setHeader("Content-Disposition", "attachment; filename=bailan.jpg");
注意:类似Chrome这样的浏览器不设置Content-Type也会自动打开,如果是它可识别预览的文件
所以最好还要设置Content-Type,上面的代码前应该先写下面的这段。
先获取servletContext,再获取mimeType,然后设置响应头,再写出到页面
ServletContext servletContext = this.getServletContext();
String mimeType = servletContext.getMimeType("/bailan.jpg");
resp.setContentType(mimeType);
...................循环写出到页面
网友评论