目录

一、主要步骤

二、本地下载

三、远程下载

四、多个下载

一、主要步骤

        主要通过标签来实现,将要下载的文件链接设置为href属性,将文件名设置为download属性,然后模拟点击这个链接即可触发下载。

        本文简单例举了几种下载方式,只是完成下载的任务,具体细节和精确控制还请查看官方文档。

二、本地下载

        1.本地比较简单,可以直接使用 a 标签

最简单的方式是:

        herf为图片路径,download为设置下载文件名字

下载

如果不想让 a 标签显示出来,可以创建隐藏的a标签,通过其他点击事件去触发下载:

(这里 download() 函数 return 一个function是因为需要在 addEventListener 的回调函数里传递参数)

Document

三、远程下载

在开发中,我们往往获取的是服务器上的图片,得到的只有图片的url地址,此时如果继续采用上面的方法会发现无法下载,变成了预览图片。这里我们需要使用 fetch 来请求获取图片,然后将其转为 Bold 对象,通过该对象生成 Blob URL,这个url才是可以下载时使用的:

Document

四、多个下载

        前端下载的实际操作是由浏览器来处理的。当用户点击下载链接或者通过JavaScript触发文件下载时,浏览器会负责发起文件下载请求,并将文件保存到用户的本地计算机中。浏览器会处理文件下载的所有细节,包括网络请求、接收文件数据、保存文件等操作。

        所以一般情况下,我们要下载多个文件,只需要循环向浏览器提交下载任务就可以了。

Document

注意:URL.createObjectURL 生成的url如果过多会有效率问题,可以在合适的时机(download后)释放掉。

推荐链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。