当前位置:   article > 正文

前端手把手教你js实现附件预览和下载得功能实现_网页附件下载改预览

网页附件下载改预览

在项目中,经常会遇到做项目关于实现附件预览和下载得功能,那么怎么来实现呢:

在学习之前,首先会应用到Blob相关得知识点:

那么blob到底是什么呢

先让我们看看官方关于blob得介绍

 文章来自于Blob - Web API 接口参考 | MDN (mozilla.org)

Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,也可以转换成 ReadableStream 来用于数据操作。

Blob 表示的不一定是 JavaScript 原生格式的数据。File 接口基于 Blob,继承了 blob 的功能并将其扩展以支持用户系统上的文件。

先让我们直接上代码: 

文件下载实现代码逻辑:

  1. downloadFile(file.fileId)
  2. .then((res) => {
  3. const blob = new Blob([res.data]);
  4. const href = URL.createObjectURL(blob);// 创建新的URL表示指定的blob对象
  5. const a = document.createElement('a');// 创建a标签
  6. a.style.display = 'none';
  7. // 指定下载链接
  8. a.href = href;
  9. // 指定下载文件名
  10. a.setAttribute('download', targetFile.name);
  11. a.click();// 触发下载
  12. URL.revokeObjectURL(a.href);// 释放URL对象
  13. })

file.fileId是文件id

文件预览实现逻辑:

  1. downloadFile(file.fileId)
  2. .then((res) => {
  3. const pdfFile = window.URL.createObjectURL(
  4. new Blob([res.data],{type: 'application/pdf'})
  5. );
  6. // 跳转页面预览
  7. window.open(pdfFile);
  8. URL.revokeObjectURL(pdfFile);//释放URL对象
  9. })

然后就可以预览和实现了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/63641
推荐阅读
相关标签
  

闽ICP备14008679号