大多数情况下,后端都是实现一个文件管理的功能,通过文件的唯一标志去获取文件流。后端都会读取文件,然后文件的流写入到response的输出流,这样就可以实现文件的访问了。

但是有些时候,实现下载功能,后端返回的是图片,浏览器却直接把图片打开了?怎么回事?

这就是Content-Disposition设置的问题,如下都是java示例:

设置为inline,如果浏览器支持该文件类型的预览,就会打开,而不是下载:

response.setHeader("Content-Disposition", "inline; filename=111.jpg");

设置为attachment,浏览器则直接进行下载,纵使他能够预览该类型的文件。

response.setHeader("Content-Disposition", "attachment; filename=111.jpg");

特别说明:Chrome不设置Content-Type也会自动打开,如果是它可识别预览的文件。

转载于:https://my.oschina.net/linx/blog/3066498

如何让浏览器直接下载后端返回的图片而不是打开相关推荐

  1. 【Java文件下载】如何让浏览器直接下载后端返回的图片,而不是直接打开

    默认情况下,浏览器设定是inline形式,对于服务器返回的文件,能打开就打开,不能打开就自动下载. Content-Disposition 设置 大多数情况下,后端都是实现一个文件管理的功能,通过文件 ...

  2. react前端下载后端返回文件流(文件流下载excel、csv)

    以前用vue框架的时候,写过不少下载上传的东西,当然包括后端返回文件流供前端下载,现在用react,牵扯到这个功能,又提起来说,有两种下载类型,一种是Excel,一种是Csv. 首先后端返回这种: 或 ...

  3. vue 下载后台返回的图片

    HTML: //businessLicenceFileList[0].url为后台返回的图片地址或pdf地址 <div class="download-img" @click ...

  4. React:后端返回pdf数据流,前端打开页面预览,使用fetch,PDFObject

    预览页面: import React, { useEffect } from 'react'; import { connect } from 'react-redux'; import PropTy ...

  5. 微信小程序渲染后端返回的图片

    ps: 最近因为小程序登录需要验证码验证,所以去研究了一波,微信小程序如何渲染后端返回来的图片 回去重新看了一下微信小程序开发文档 发现可以利用wx.request+wx.arrayBufferToB ...

  6. 【Django】自定义存储后端返回完整图片的URL链接

    我们在Django存储图片的时候,并不是直接存储图片,而是存储图片的唯一标识,再通过标识去获取图片,例如下面的模型类有一个image字段,字段类型是ImageField class SKUImage( ...

  7. java后端返回二进制图片 前端进行展示 详解

    java后端代码: /*** 图片展示* @param map* @return*/@ApiOperation("图片展示")@PostMapping("/getPuct ...

  8. vue前端怎么下载后端返回的二进制流excel表格文件

    文章目录 应用场景 一.怎么请求接口 二.步骤图片 1.res返回数据 2.url地址 3.download属性 4.a标签 5.返回的原式数据,长这样 总结 应用场景 我对表格数据进行勾选,想要把勾 ...

  9. 前端用 js-file-download组件 下载后端返回的Excel文件

    后端接口返回的Excel的文件流需要导出让浏览器下载文件 一.先安装 js-file-download组件 npm install js-file-download --save 二.在对应使用的页面 ...

最新文章

  1. IPV6在WINXP、WIN2003、WIN7下的网络配置
  2. springmvc的异步处理
  3. 电缆桥架安装规范标准_电缆桥架怎么安装,桥架安装工艺分享
  4. JZOJ 5448. 【NOIP2017提高A组冲刺11.3】机房比教室好多了
  5. Windows用户安全小技巧
  6. ios 获取控件高度
  7. 《大话设计模式》读书笔记-第13章 建造者模式
  8. soapui 使用 java_SoapUI的进阶使用
  9. VC++6.0 内存泄露调试
  10. 浅谈一下位操作符吧---我带你深入了解计算机内的数字(暂时限定整数)
  11. Python爬取必应图片
  12. WINCE下模拟鼠标点击,移动
  13. csgo人机指令_csgo人机指令大全
  14. 嵌入式系统设计与开发期末考试复习
  15. UFLDL学习笔记3(Softmax Regression)
  16. 如何用IDEA创建SpringBoot项目
  17. 双屏神器——UltraMon,提升工作效率
  18. 软件-开发软件:Android Studio
  19. C++ STL begin()和end()函数(深入了解,一文学会)
  20. 浅谈PCB生产干膜与应用工艺

热门文章

  1. 给edittext每行加下划线
  2. 安装python发生的报错
  3. 关于Arduino、树莓派和 Pixhawk微处理器对比分析
  4. 原创 | Java 2019 超神之路,很肝~
  5. 支付宝转账-提取根证书失败 AlipayRootCert Is Invalid
  6. Fenix:Mozilla推出的新型移动浏览器
  7. Fate原理(面试必备)
  8. scrapy——抓取知乎
  9. FOC——2.RC吸收电路笔记
  10. 4.2nbsp;反身理论与均衡价格论