前端文件下载

前端文件下载

a标签下载

a标签下载是最简单好用的方法

<a href="./demo.txt" download>下载</a>

在这里插入图片描述
通过download还可以修改文件下载后的名字和类型:

<a href="./demo.txt" download="text">下载</a>

在这里插入图片描述
注意:当资源不是同源的,下载txt、图片文件文件download属性是无效的,加与不加一个样,还是会直接打开,但是其他类型文件是可以的,例如:docx文件、pdf文件等

<a href="http://8.129.**.**/text.txt" download="text">下载</a>

在这里插入图片描述
不同源点击直接打开txt文件:
在这里插入图片描述
docx文件可以实现:

<a href="http://8.129.**.**/text.docx" download="text">下载</a>

在这里插入图片描述

接口下载

所以如果是不同源文件下载,还是要后端写一个接口,前端直接获取file类型的数据,然后实现下载:

// dom中创建a标签
    let aTag = document.createElement('a')
    // 给创建的a标签添加download属性,此属性是让我们的浏览器下载URL而不是跳转到URL所指向的内容(同 时,下载的文件名为log.txt)
    aTag.download = 'log.txt'
    // 给创建的a标签添加href属性并赋值,blob是从后端获取的file类型数据
    aTag.href = URL.createObjectURL(blob)
    // 自动点击创建的标签
    aTag.click()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值