使用 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ABAP 新语法 substring 截取字符串

    ABAP 新语法 substring 截取字符串IFcb_01EQ’X’.LOOPATgt_outINTOgs_out.SELECTSINGLEbelnrFROMbkpfASt1WHEREsubstring(t1~awkey,1,10)=@gs_out-mblnrANDsubstring(t1~awkey,11,4)=@gs_out-mjahrINTO@gs_out-belnr.

    2022年5月23日
    46
  • android studio下gradle与Git错误解决方法

    android studio下gradle与Git错误解决方法

    2022年1月17日
    57
  • python pyquery_python3解析库pyquery

    python pyquery_python3解析库pyquerypyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便1、pyquery安装pip方式安装:$pipinstallpyquery#它依赖cssselect和lxml包pyquery==1.4.0-…

    2022年6月4日
    32
  • 打造一个红旗(redflag)Linux的基础镜像(base image)「建议收藏」

    打造一个红旗(redflag)Linux的基础镜像(base image)「建议收藏」起因由于工作原因,想找一个红旗Linux的基础镜像(baseimage)。网上搜了一下,但没有现成的。起初是想找对应的centos版本来代替,但又怕有些莫名其妙的问题。官方文档不过搜索过程中,

    2022年7月2日
    41
  • 基于Java和MySQL的图书管理系统[通俗易懂]

    Java图书管理系统设计人:wangyunpeng_bio项目需求随着计算机的普及和应用水平的提高,经过考察比较,决定利用自己的Java知识开发小型的图书管理系统,方便图书的管理。图书管理系统是典型的信息管理系统。本次作业利用JAVA开发工具Eclipse和MySQL数据库来开发这个图书管理系统。该系统要解决的图书管理所要解决的问题,可以满足图书管理基本要求,包括添加、管理等功能。…

    2022年4月12日
    122
  • android sdk集合 下载,Android SDK下载列表(含海内下载)-下

    android sdk集合 下载,Android SDK下载列表(含海内下载)-下AndroidSDK下载列表(含国内下载)-下前一篇博客中借用了三位前辈的博客、里面是SDK的下载列表、当然、里面不可能是完整的、也有很多都没有收录、但是我们可以从那些已经收录了的链接里的命名习惯中可以知道我们想要下载的链接是什么当我们需要的版本不在那些下载列表中时、这就需要我们自己改下载链接了、举个例子:比如、平凡的世界这位前辈收录的下载android-sdk列表中:在AndroidSDK列…

    2022年7月19日
    41

发表回复

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

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