JS弹框下载文件方法

function DownloadFile(sUrl, reName) {if (window.downloadFile.isChrome || window.downloadFile.isSafari) {//Creating new link node.var link = document.createElement('a');link.href = sUrl;if (link.download !== undefined) {var fileName = reName;link.download = fileName;}//Dispatching click event.if (document.createEvent) {var e = document.createEvent('MouseEvents');e.initEvent('click', true, true);link.dispatchEvent(e);return true;}}// Force file download (whether supported by server).if (sUrl.indexOf('?') === -1) {sUrl += '?download';}window.open(sUrl, '_self');return true;
}
window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;DownloadFile('http://xxx/Log/default.cfg', 'data.cfg')

但是此方法不支持IE浏览器,可需求要支持IE下载。

现象

IE浏览器请求服务器上文本文件(.txt,json,.cgf等等)时, 浏览器会自动打开

解决方法

后台:将请求响应头(Request Headers)的Content-Disposition(内容部署)设置为attachment。


有两种部署类型:inline和attachment
inline :将文件内容直接显示在页面
attachment:弹出对话框让用户下载

前端:修改DownloadFile()方法
function DownloadFile(sUrl, reName)
{ var Link = document.createElement('a');Link.href = sUrl;if (Link.download !== undefined) {//var CurrentTime = new Date().toLocaleString();var FileName = reName;    Link.download = FileName;}if (document.createEvent) {var E = document.createEvent('MouseEvents');E.initEvent('click', true, true);Link.dispatchEvent(E);return true;}
}

完美解决:

IE浏览器下载文件会自动打开,无弹框保存相关推荐

  1. 关于WebView加载H5页面下载文件和下载完毕后自动打开文件

    前段时间有个项目需要在H5页面里下载文档文件,由于项目需求这里采用Android系统自带DownloadManager来进行后台自动下载管理,我们只需要稍微设置几个参数就进行文件下载了,并且下载进行时 ...

  2. asp.net 浏览器下载文件的四种方式

    其实不是自己想要的,自己希望能够弹一个窗口出来选择保存的路径 protected void Button1_Click(object sender, EventArgs e){protected vo ...

  3. 怎么修改IE浏览器下载文件位置

    怎么修改IE浏览器下载文件位置 1.打开IE浏览器,设置,点击下载,如图所示: 2.点击2处的三个-点出现下载设置,点击. 3.点击下载设置之后可以看到,方框内默认下载到C盘的"下载&quo ...

  4. selenium,设置火狐浏览器下载文件时不要弹出弹框问题、以标签页打开新的页面及设置失效问题

    使用火狐浏览器做自动化时, 1.火狐浏览器下载文件会弹出弹框,可以通过设置火狐浏览器不要弹出弹框的方式,来完成自动化测试 def setup_method(self):# 创建一个存放自定义浏览器配置 ...

  5. IE浏览器下载不了文件或下载文件会直接打开

    下载不了文件,以下方法设置 一. 重置IE: 1. 关闭所有Internet Explorer窗口. 2. 单击"WINDOWS R",在搜索框内输入inetcpl.cpl,按回车 ...

  6. 360浏览器下载文件成功但文件异常问题

    最近遇到用360浏览器下载文件,瞬间完成.但试图打开文件却打不开.用另一台电脑下载同样地址文件,发现文件大小不一样.怀疑是系统环境出了问题. 打开360卫士,找到[断网急救箱]执行[全面诊断]发现 [ ...

  7. 钉钉内置浏览器下载文件(钉钉跨域下载文件、图片等)

    刚开始在网上查询到很多资料其中最为广泛的是用<a>download下载,但是会遇到图片.txt.MP4等文件无法下载被浏览器直接打开,后来尝试用blob的方法进行字节流转换,虽然成功了,但 ...

  8. Microsoft Edge浏览器下载文件乱码修复方法(二)

    之前有写过"Microsoft Edge浏览器下载文件乱码修复方法",发现很多情况下下载文件乱码问题还是存在,这里对之前内容做简单补充,希望可以帮到大家. 方法二: 默认如果提示下 ...

  9. 解决:Safari浏览器下载文件,后缀多拼接了.html

    你是否遇到同样的问题? 最后效果: 问题: 其他浏览器下载文件正常 Safari浏览器下载word文件,后缀多拼接了.html,导致打开下载文件乱码,下载的文件名称为vcard.vcf,手动去掉多余的 ...

最新文章

  1. UC阿里鱼卡全网免流活动正在进行
  2. java前端目录_[Java教程]前端那点事儿——Tocify自动生成文档目录
  3. Sql结果导出为excel文件
  4. java内存分配和回收策略
  5. servlet——登录练习(登录页面登录请求登录请求处理)
  6. 数据挖掘 —— 有监督学习(分类)
  7. ASP.NET MVC 自定义模型绑定1 - 自动把以英文逗号分隔的 ID 字符串绑定成 Listint...
  8. 刹车八个技巧 教你踩得又稳又好
  9. HTML复古游戏官网模板
  10. Linux C socket 编程之UDP
  11. 自学python需要安装什么-学Python需要安装什么软件?Python软件工具大全
  12. android im 文件发送,极光IM- 基础功能 - 极光文档
  13. 基于javaweb仓库管理系统简易课程报告-软件工程
  14. 常见运维监控系统的技术选型
  15. mysql入侵服务器_记通过mysql数据库成功入侵到服务器内部的渗透实战
  16. 一文读懂自动驾驶传感器之激光雷达、毫米波雷达、超声波雷达及摄像头
  17. java 简单考试系统 ——java程序设计
  18. HTTP中Origin和Referer的区别?
  19. python实现clahe对比度增强
  20. Java字母笔顺_Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序

热门文章

  1. ADS8685/ADS8681/ADS8689的stm32驱动程序
  2. 区块链solidity学习(地址、交易篇:一)
  3. 【091】肖邦《降B小调第一夜曲》
  4. 【股权方案】公司股权分配员工持股方案学习资料(39份)
  5. (优雅解决)如何安全地关闭Intel的RST(快速存储)技术
  6. ERP之替代料的使用
  7. Python的replace()方法
  8. 【计算机视觉】图片拼接
  9. Terraria及tModloader开服教程
  10. Swing开发教程从入门到实践(一)