首页 > 其他分享 >【VUE】 文件预览

【VUE】 文件预览

时间:2023-02-13 16:14:22浏览次数:33  
标签:文件 VUE const 预览 buffer blob reader new

【VUE】 文件预览

上传前预览

word文档:docx、doc

核心代码

import {renderAsync} from "docx-preview";
/**
* 渲染docx
* @param buffer
*/
docxRender(buffer) {
    let docxContainer = this.$refs.docxContainer;
    renderAsync(
    buffer, // Blob | ArrayBuffer | Uint8Array, 可以是 JSZip.loadAsync 支持的任何类型
    docxContainer, // HTMLElement 渲染文档内容的元素,
    null, // HTMLElement, 用于呈现文档样式、数字、字体的元素。如果为 null,则将使用 。
    this.docxOptions // 配置
    ).then(res => {
    console.log("res---->", res)
    })
}

源文件

预览文件

Excel表格:xls、xlsx

暂未开发,待后续更新

PowerPoint: ppt

暂未开发,待后续更新

PDF

暂未开发,待后续更新

照片 :jpg、png、gif

核心代码

let fr = new FileReader();
fr.readAsArrayBuffer(this.file.raw);
fr.addEventListener("loadend", (e) => {
  let buffer = e.target.result;
  const bufferUrl = btoa(new Uint8Array(buffer).reduce((data, byte) => data + String.fromCharCode(byte), ''));
  const imgUrl = 'data:image/png;base64,' + bufferUrl;
  that.$refs.imgContainer.src = imgUrl;
}, false);

预览文件

文本文件: txt

核心代码

const blob = new Blob([this.file.raw], {type: "text/html"})
const reader = new FileReader();
reader.onload = (ev) => {
  const content = ev.target.result
  that.$refs.textContainer.innerHTML = content;
}
reader.readAsText(blob);

预览文件

视频 mp4

核心代码

const blob = new Blob([this.file.raw], {type: 'video/mp4'})
const reader = new FileReader();
reader.onload = (ev) => {
    const src = ev.target.result
    that.$refs.mediaContainer.src = src;
}
reader.readAsDataURL(blob); 

预览文件

暂不支持格式 :zip、rar 等等

上传预览代码

标签:文件,VUE,const,预览,buffer,blob,reader,new
From: https://www.cnblogs.com/HelloWxl/p/17116737.html

相关文章

  • Windows11如何预览STL文件缩略图【已解决】
    最近由于要处理大量的3D打印模型,但是STL文件得一个个点开才能看,如果只是十来个文件还好说,当遇到上千个3D模型时简直让人抓狂~!上网搜了一下,网友推荐了个工具【STL-Thumb】,......
  • ASP.NET Core - .NET 6 的入口文件
    自从.NET6开始,微软对应用的入口文件进行了调整,移除了Main方法和Startup文件,使用顶级语句的写法,将应用初始化的相关配置和操作全部集中在Program.cs文件中,如下:var......
  • vue文件中.env xxx 文件的作用
    .env文件配置Vue项目中,.env文件是运行项目时的环境配置文件。但是在实际开发过程中,有本地开发环境、测试环境、生产环境等,不同环境对应的配置会不一样。因此,需要通过不......
  • shell逐行读取文件的方法
    1、while循环functionwhile_read_LINE(){whilereadLINEdoecho$LINEdone<$FILENAME}1.2.3.4.5.6.2、重定向法;管道法functionWhile_read_LINE(){cat$......
  • Vue使用i18n
    Vue与vue-i18n包安装npmivue-i18n@8Vue2使用8版本Vue3使用默认版本资源准备新建文件夹lang存放使用的语言文件目录结构scrlangen.jszh.jsindex.js......
  • leangoo领歌共享协作思维导图导入导出XMind文件。
    协作型共享多人协作思维导图Leangoo,可以导出导入XMind文件了,我们来看看如何操作:进入leangoo官网:www.leangoo.com,登陆账号。点击右上角“+”新建脑图,然后导入XMind文件......
  • axios的第二种写法,把请求路径抽离到一个文件
    utils/http.jsimportaxiosfrom'axios';importqsfrom'qs';import{VALID_LOGIN}from'_config/url'importcontextfrom'../main.js'importrouterfrom'........
  • 12c move数据文件不会自动提交使用该数据文件的事务
    环境:OS:Centos7DB:12.2.0.1 1.创建pdbcreatepluggabledatabasepdb03adminuserhxlidentifiedbyoracleroles=(dba)CREATE_FILE_DEST='/u01/app/oracle/oradat......
  • springmvc文件上传(ajax请求 带参数)
    前言这里用ajax文件上传,并携带几个参数,网上查到的大多都是没带参数只有文件的。由于我项目代码太多,这里只给出关键代码。操作我用的SSM框架,传之前,先在WEB-INF/dispatcherSe......
  • 阿里EasyExcel读写excel文件的基本使用
    EasyExcel读写excel文件​​1、EasyExcel简介​​​​2、对excel的写操作​​​​1.1创建一个普通的maven项目并引入相关依赖​​​​1.2创建实体类​​​​1.3实现写操......