1 最简单的方法

<a href="http://somehost/somefile.zip" download="filename.zip"> Download file </a>

只要为<a>标签添加 download 属性,我们点击这个链接的时候就会自动下载文件了
其中, download 属性可选(IE 不支持此属性),意思是指定下载后的文件名称
这是最简单、最方便的前端下载文件手段,如果条件允许应该作为第一个选择。

2 使用JavaScript

// 将获取的sonmefile.zip转换成 blob对象
fetch('http://somehost/somefile.zip').then(res =>             res.blob().then(blob => {var a = document.createElement('a');// 用 blob 对象来创建一个 object URLvar url = window.URL.createObjectURL(blob);var filename = 'what-you-want.txt';a.href = url;a.download = filename;a.click();// 使用完object URL 之后手动撤销以释放掉内存优化性能window.URL.revokeObjectURL(url);
}))

对于blob 对象,支持的浏览器版本为IE10+, 并且当转换的文件较大时,可能会发生延迟。

但如果需要在下载之前做一些预处理的动作,例如检查该用户是否有下载的权限,是否有高速下载的权限、或者动态文件链接等等,这是一个很好的方法。

使用 JavaScript 下载文件相关推荐

  1. 如何用 JavaScript 下载文件

    简介 我们知道,下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的 url 来实现下载功能,但是这种用户体验非常不好. 幸好,HTML 5 里面 ...

  2. javascript下载文件几种方式,接收后台返回流下载或直接下载文件

    目录 1 javascript下载文件7中方式 1.1 window.location.href下载 1.2 window.location下载 1.3 iframe下载 1.4 form表单的形式下 ...

  3. js下载文件,javascript下载文件,FileSaver.js,页面元素保存成文件

    js下载文件,javascript下载文件,FileSaver.js,页面元素保存成文件 ================================ ©Copyright 蕃薯耀 2020-07 ...

  4. JavaScript 下载文件、图片

    前提是我们拿到的数据必须是Blob格式的数据 一.下载文件 let downLoadFile = (obj, name, suffix) => {const url = window.URL.c ...

  5. JavaScript 下载大文件解决方案(Blob+OjbectURL)

    JavaScript 下载大文件解决方案(Blob+OjbectURL) 参考文章: (1)JavaScript 下载大文件解决方案(Blob+OjbectURL) (2)https://www.cn ...

  6. python单击url下载网页文件_使用不带url的python脚本从网页下载文件,调用onClick函数 - javascript...

    有一个网页带有链接"单击下载",单击该链接可以下载文件. 我可以通过转到网页并单击此链接来手动下载此文件,但是我需要通过python脚本下载此文件. 如果我看到源代码,则可以看到锚 ...

  7. 使用Javascript / jQuery下载文件

    本文翻译自:Download File Using Javascript/jQuery I have a very similar requirement specified here . 我在这里指 ...

  8. JavaScript实战篇 -ajax方式实现js打包下载文件

    一.问题描述 在我们日常开发中,会遇到批量下载方面的问题;如上图所示,我们要批量下载图片,接下来我们就模拟实现这个功能,并将下载文件打包下载; 二.准备工作 2.1 JSZip JSZip 是一个 j ...

  9. 在 JavaScript 如何下载文件

    在 Web 开发中,文件下载功能是一个非常常见的功能.在本文中,将介绍在 JavaScript 中如何实现下载文件. 使用 location.href 当需要打开新页面时,在 JavaScript 中 ...

  10. javascript 检测 header下载文件--插件

    原理:下载文件时设置一个cookie,客户端利用js间隔性检测cookie,如果检测到则服务端对下载的文件处理完毕,然后通知客户端 http://johnculviner.com/post/2012/ ...

最新文章

  1. linux swp 内存不足,Linux 增加 Swap 交换分区解决内存不足
  2. iOS本地化项目上传到gitHub
  3. apollo 配置中心_Apollo配置中心搭建笔记
  4. c/c++拷贝构造函数和关键字explicit
  5. 再聊机器人设计:如何加速开发流程?
  6. 沃尔沃召回部分进口及国产车 共计131591辆
  7. ios布局 分为左右两块_安卓手机一年后卡顿,原因是安卓系统太开放了,改走iOS封闭之路...
  8. Matlab中break语句
  9. 初试 Coding.net 在线IDE——WebIDE
  10. 优化家庭广电宽带网络设置
  11. CC00230.CloudKubernetes——|KuberNetes细粒度权限控制.V14|——|Ratel.v02|k8s资源管理平台配置|
  12. python冒号用法-python 列表中[ ]中冒号‘:’的作用
  13. cannot find -lxxx 问题的总结
  14. thumbnails 变黑_解决java压缩图片透明背景变黑色的问题
  15. 移动开发的项目管理心得
  16. Method has too many Body parameters: public abstract java.util.List com.yun.client.DemandClient.que
  17. zigbee通讯技术复习笔记
  18. 微信小程序实现横向滚动文字
  19. Golang之NSQ
  20. 最初计算机研制时间科学家,美科学家研制“时间晶体”超越宇宙寿命 类似永动机...

热门文章

  1. iOS 字体大小适配
  2. 斐讯k1潘多拉专版固件_斐讯路由器刷潘多拉固件+宽带并发多拨号视频教程+工具下载(K1K2)...
  3. 用友U8出纳系统无法筛选未制单日记账的解决方法
  4. svn插件说明和安装
  5. MySQL 入门常用命令大全
  6. vasp-分子动力学模拟
  7. 朗威计算机保密检查取证工具,保密检查工具(中安兴坤、朗威、中孚)含国保测证书...
  8. CMMI认证需要什么条件?
  9. 单商户商城系统功能拆解12—商品管理
  10. 程序员代码面试指南:IT名企算法与数据结构题目 PDF 版