问题描述:

页面下载跨域的图片、pdf文件,浏览器总是自动打开,并且在下载列表里面不显示。

如何解决谷歌浏览器下载图片、PDF文档时只打开不下载的问题?如何变成直接下载?

解决方法:

使用js获取下载流,重新生成本地下载链接,再触发下载事件,代码如下:

function getFile(url,fileName){var httpRequest = new XMLHttpRequest();//指定响应类型,这决定了浏览器对返回内容的解析方式,设置为空或者text会作为字符解析、json会作为json解析,blob和arraybuffer会作为字节流解析httpRequest.responseType ='arraybuffer';httpRequest.open('GET', url, true);httpRequest.onload  = function () {if (httpRequest.readyState == 4 && httpRequest.status == 200) {//只有responseType为空或者text,才会使用responseText获取内容,其他情况                        httpRequest.response就是你需要的不含http头的返回内容var content = httpRequest.response;var elink = document.createElement('a');elink.download = fileName;elink.style.display = 'none';var blob = new Blob([content]);//创建指向内存中字节流的链接elink.href = URL.createObjectURL(blob);document.body.appendChild(elink);elink.click();document.body.removeChild(elink);}};httpRequest.send();
}

亲测可用,在谷歌浏览器点击图片和pdf,就可以显示下载内容,而不是在新tab页打开了

JS使用技巧-如何解决谷歌浏览器下载图片、PDF文档时只打开不下载的问题?相关推荐

  1. 下载图片,文档,excel导入导出

    Q1:下载图片,文档 --1:Fileio.html <!DOCTYPE html> <html> <head> <meta charset="UT ...

  2. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)...

    在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载) 该主题的Part1- Part5系列文章已经陆续发表.为了感兴趣的朋友阅读方便,这里提供 ...

  3. 破解打开证书加密的PDF文档-数字证书(电子书私钥)下载和导入教程

    数字证书(电子书私钥)的导入方法-如何破解打开证书加密的PDF文档 请回复下载本证书,相关教程见压缩包内使用说明:文件解压密码:www.8cmd.com *** Hidden to visitors ...

  4. flexpaper php 代码,FlexPaper Flex在线显示PDF文档的php源码下载|FlexPaper Flex在线显示PDF文档的php源码官方下载-太平洋下载中心...

    FlexPaper Flex在线显示PDF文档的php源码是Php源码频道下深受用户喜爱的软件,太平洋下载中心提供FlexPaper Flex在线显示PDF文档的php源码官方下载.FlexPaper ...

  5. jacob解决freemaker下载的word文档手机无法打开问题

    java使用freemaker下载word的流程如下: 1.新建一个word模板 2.另存为xml格式 3.将xml后缀的文件后缀改成.ftl 4.将ftl中需要替换的内容使用freemaker js ...

  6. 如何在使用itext生成pdf文档时给文档添加背景图片

    这个问题我在网上搜了很久,没有找到什么解决方案,需求其实很简单,就是添加背景图片. 在解决这个问题之前,我们需要了解什么是背景图片?背景图片就是位于文档最底层的图片,文字和其他内容可以浮在它的上面.这 ...

  7. 自己亲自写的两本linux资料,免费下载,pdf文档

    第一本是我写的韩顺平老师解说的linux视频的笔记,该视频原本有21讲,可是我始终没有找到当中的17.18讲.可是其它部分我感觉及记录的还是蛮认真的.该套视频解说的非常基础,因此我的这本笔记也非常基础 ...

  8. itext生成pdf文档时给文档添加背景图片

    像往常一样将图片加载到文档即可,只不过,要将图片缩放到整个文档,换句话说,图片的初始位置是 0,0大小就是文档的大小,比如你创建A4纸大的文档,图片就应该缩放到大小(595,842),其他的纸张可以去 ...

  9. 【Axure技巧】Axure RP 9 生成HTML文档如何自动打开页面列表?

    前言 自从由Axure RP 8 升级到 RP 9 后,遇到了许多不习惯的操作,比如预览HTML时的页面列表,在RP 8中是默认打开的,来到RP 9 变成了默认隐藏的了,需要手动设置一下才会自动打开( ...

最新文章

  1. 在js中使用HashMap数据结构,在js中使用K,V数据结构
  2. 一个object上拥有一个同步队列和一个等待队列
  3. sql语句没错 mysql.data.dll类型的异常_未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。...
  4. 3 weekend110的hadoop中的RPC框架实现机制 + hadoop中的RPC应用实例demo
  5. data:text/html firefox钓鱼,JS DataURL 整理(一)
  6. golang mysql大量连接_golang mysql 如何设置最大连接数和最大空闲连接数
  7. 区块链六-Merkle Tree
  8. python处理ppt的插件_几款PPT神器插件,千万不能错过!
  9. matlab错误使用builtin,MATLAB环境下运行MATLAB函数时发生异常
  10. 怎样用ZBrush中的Curves和Insert笔刷创建四肢
  11. 计算机一级和答案,全国计算机一级操作题及答案
  12. html5新标签转换插件,GOOGLE推出SWIFFY插件 一键转换SWF到HTML5
  13. ioi 赛制_杨骏昭IOI2019参赛总结
  14. 手机内存卡格式化了怎么办
  15. FX3学习笔记2-cs-make[1]: [post-build] Error 2 (ignored)
  16. Java/计算银行利率
  17. kernel启动流程-head.S的执行_3.preserve_boot_args
  18. 全国计算机等级考试shi,全国计算机等级考试等级设置
  19. ASP.NET Core2.1 你不得不了解的GDPR(Cookie处理)
  20. 使用numpy实现李代数se(3)和SE(3)之间的指对数映射

热门文章

  1. JS中typeof() !== 'undefined'的解释
  2. 蓝桥杯单片机-DAC-用板载板载PCF8591芯片在D/A引脚上输出指定的电压
  3. CPU消耗高,tps低问题排查分析
  4. 都要和硬件工程师“作对”吗?
  5. 【HNU分布式与云计算系统】MPI实现矩阵乘矩阵运算
  6. 网络工具netstat与ss
  7. 金蝶KIS财务接口使用说明
  8. 人工湖对环境温度的调节问题
  9. php实现视频转gif,mp4格式如何转换成gif格式
  10. 查看LINUX放开端口,linux如何查看端口是否开放?