使用 JavaScript 下载文件

使用 JavaScript 下载文件使用JavaScript下载文件

大家好,又见面了,我是你们的朋友全栈君。

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 URL
    var 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+, 并且当转换的文件较大时,可能会发生延迟。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139741.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一句话评论设计模式六大原则

    原则,故名思议则是本质的意思。所谓擒贼先擒王,研究设计模式自然要先了解设计原则,所有的模式都是在这些原则的基础之上发展起来的,有的是侧重一个,有的是多个都有所涉及。看完设计模式之后,我感觉到每个模式都

    2021年12月25日
  • ssh学习整理笔记[通俗易懂]

    ssh学习整理笔记[通俗易懂]ssh1、ssh简介ssh(安全外壳协议)ssh为secureshell的缩写,ssh为建立在应用层和传输层基础上的安全协议 ssh端口ssh端口:22Linux中守护进程:sshd安装服务:OpenSSH服务端主程序:/usr/sbin/sshd客户端主程序:/usr/bin/ssh 相关文件服务端配置文件:/etc/ssh/sshd_c

    2022年6月24日
  • FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )

    FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )首先扯点别的:今天不上班,在家里和剑宗喝了点酒,和同学聊了会天,也是挺开心,现在学会习。以前调用系统相机拍照的时候,流程是这样的privatevoidtakePhoto(){IntenttakePictureIntent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);if(takePictureIntent

    2022年10月29日
  • 干货丨初学者学Java应该安装什么软件?

    干货丨初学者学Java应该安装什么软件?初学者刚刚入门学习需要用到一些开发工具,初学Java一般从控制台应用程序开发开始的,在cmd下调试,为你的电脑搭建好开发环境,需要在网站上下载JDK,安装完成后调试成功就可以开始写你的J…

    2022年7月8日
  • android rsa加密工具类,GitHub – Lerist/encrypt: Android 加密解密工具包。「建议收藏」

    android rsa加密工具类,GitHub – Lerist/encrypt: Android 加密解密工具包。「建议收藏」Encrypt(加密工具)字符串,byte[],文件等对象的加密和解密工具集合,包含了多种加密方案。加密类型摘要相关方法简单加密换一种编码格式Base64Util单向加密只能加密,不能解密MD5Util、SHAUtil对称加密使用相同的秘钥加密和解密AESUtil、DESUtil非对称加密分公钥和私钥,一个加密,另一个解密RSAUtil使用方法Base64util方法摘要Stringbase6…

    2022年5月17日
  • 用计算机制作flash动画教案,Flash动画制作教案

    用计算机制作flash动画教案,Flash动画制作教案以下是出国留学网小编整理的高中信息技术《Flash动画制作》教案,供大家浏览参考。更多相关内容请关注出国留学网教案栏目。高中信息技术《Flash动画制作》教案一:课题:Flash动画制作——绘制七巧板教学目标:熟悉Flash软件的操作界面运用Flash软件绘制七巧板教学重点:绘制七巧板教学难点:如何选用合适的工具正确绘制七巧板教学方法:讲授法,演示法教学过程:一:打开Flash软件“开始”菜单―…

    2022年4月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号