当前位置: 首页 > article >正文

实际开发中,常见pdf|word|excel等文件的预览和下载

实际开发中,常见pdf|word|excel等文件的预览和下载

    • 背景
    • 相关类型数据之间的转换
      • 1、File转Blob
      • 2、File转ArrayBuffer
      • 3、Blob转ArrayBuffer
      • 4、Blob转File

背景

实际开发中,大部分文件的预览会以流的方式传输,前端通过Element等UI库提供的上传组件传给后端File类型数据, 后端返回给前端Blob/ArrayBuffer类型数据 , 前端最终借助各种第三方工具或者自定义tool方法, 实现各种类型文件的下载或者预览. 少部分的会以文件地址的方式进行传输, 那么我们直接访问那个文件url即可.

相关类型数据之间的转换

1、File转Blob

export function fileToBlob(file: File) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = () => {
      const arrayBuffer: any = reader.result;
      const blob = new Blob([arrayBuffer], { type: file.type });
      resolve(blob);
    };
    reader.onerror = reject;
    reader.readAsArrayBuffer(file);
  });
}

在这里插入图片描述

2、File转ArrayBuffer

export function fileToArrayBuffer(file: File) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = () => {
      const arrayBuffer: any = reader.result;
      resolve(arrayBuffer);
    };
    reader.onerror = reject;
    reader.readAsArrayBuffer(file);
  });
}

3、Blob转ArrayBuffer

export function blobToArrayBuffer(blob) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = () => resolve(reader.result);
    reader.onerror = reject;
    reader.readAsArrayBuffer(blob);
  });
}

4、Blob转File


http://www.kler.cn/a/464125.html

相关文章:

  • git 创建tag, 并推送到远程仓库,启动actions构建release自动发布
  • Niushop商城商业插件_cps联盟_包装转换_视频购物_同城配送_上门预约等插件的安装方法
  • 明源地产ERP VisitorWeb_XMLHTTP.aspx SQL注入漏洞复现
  • 【C语言】_指针运算
  • 无人机飞手培训机构大量新增,考取飞手证参军入伍还有优势吗?
  • 安全见闻(一)
  • JUnit注解,枚举
  • 利用Java爬虫获取1688店铺详情:一篇详细的技术指南
  • 2021年福建公务员考试申论试题(县级卷)
  • Python世界:报错Debug之referenced before assignment
  • filebeat采集应用程序日志和多行匹配
  • Cornerstone3D:了解Nifti文件,并查看元数据
  • 【CPU】RISC-V 与 x86 操作数字段的区别
  • MySQL的锁机制及排查锁问题
  • 手机更换屏幕后,会被防控软件识别为模拟器!!
  • 02-专业问题
  • 基于SpringBoot和OAuth2,实现通过Github授权登录应用
  • wx014基于springboot+vue+uniapp的智能小程序商城
  • 六年之约day5
  • python脚本,读取当前目录文件名,写入excel表格,并给对应文件名分配mac
  • 动态规划模式
  • 精密制造动力箱行业需要哪种多功能电表
  • 地理数据库Telepg面试内容整理-相关技术与工具
  • 【C语言】如何插入并播放音频文件
  • 高级架构五 设计模式
  • python中序列化之json文件的使用