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

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

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

那么blob到底是什么呢

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

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

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

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

先让我们直接上代码: 

文件下载实现代码逻辑:

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

file.fileId是文件id

文件预览实现逻辑:

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

然后就可以预览和实现了

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
学习IEC 104协议和编程实现九号遥控功能是一项复杂的任务。本文将以300字的篇幅简要概述该过程。 首先,IEC 104协议是电力自动化系统中常用的通信协议之一,用于远程监控和控制通信。要学习IEC 104协议,首先需要了解其基本原理和通信过程。可以通过阅读相关技术文档、书籍和在线程来深入了解IEC 104协议的细节。 接下来,学习IEC 104协议的编程实现需要有一定的编程基础。主要编程语言可以选择C、C++或者其他常用的编程语言。编程实现九号遥控功能需要掌握IEC 104协议的编码和解码过程,了解相应的数据结构和流程控制。 在编程实现九号遥控功能时,首先需要建立与远程终端设备的连接。可以利用TCP/IP协议进行通信,建立socket连接。在连接建立后,必须正确配置IEC 104协议的站地址、传输参数等信息。 然后,需要编写代码实现IEC 104协议的编码和解码过程。首先,将要发送的遥控命令封装成IEC 104规定的格式,即APCI(Application Protocol Control Information)+ASDU(Application Service Data Unit)+ASDU信息组。然后,根据协议规定的解码方式,对接收到的遥控命令进行解码。 最后,根据九号遥控功能的具体需求,编写代码处理相应的逻辑。例如,判断遥控命令的类型,执行相应的操作,并及时响应给远程终端设备。 总结而言,学习IEC 104协议和编程实现九号遥控功能是一项需要专业知识和编程技能的任务。需要深入学习和实践才能掌握。希望以上简要概述可以为您提供一些指导。如需深入了解,请参考相关专业文献和指导资料。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值