【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】 文件预览的更多相关文章

  1. Vue PDF文件预览vue-pdf

       最近做项目,遇到预览PDF这个功能,在网上找了找,大多推荐的是pdf.js,不过在Vue中还是想偷懒直接npm组件,最后找到了一个还不错的Vue-pdf 组件,GitHub地址:https:// ...

  2. 手把手教你用 Spring Boot搭建一个在线文件预览系统!支持ppt、doc等多种类型文件预览

    昨晚搭建环境都花了好一会时间,主要在浪费在了安装 openoffice 这个依赖环境上(Mac 需要手动安装). 然后,又一步一步功能演示,记录,调试项目,并且简单研究了一下核心代码之后才把这篇文章写 ...

  3. java实现office文件预览

    不知觉就过了这个久了,继上篇java实现文件上传下载后,今天给大家分享一篇java实现的对office文件预览功能. 相信大家在平常的项目中会遇到需要对文件实现预览功能,这里不用下载节省很多事.大家请 ...

  4. Qt SD卡 文件系统挂载、文件预览

    /********************************************************************************** * Qt SD卡 文件系统挂载. ...

  5. Jquery.Treeview+Jquery UI制作Web文件预览

    效果图: 前台Html: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="D ...

  6. 关于pc端 app端pdf,word xls等文件预览的功能

    第一种用H5标签<iframe>标签实现 返回的文件类型,文件流,文件流返回必须在设置 contentType对应的Mime Type, 返回文件的物理位置. 已经实测可以支持的文件类型 ...

  7. odoo13之文件预览widget/模块

    本文示例代码可查看github仓库:odoo13_file_preview 文件预览效果图展示 效果描述: 1.当点击图片或者文件时展开图片. 2.当点击关闭按钮时关闭图片预览. 3.当点击下载按钮时 ...

  8. java 文件转成pdf文件 预览

    一.前端代码 //预览功能 preview: function () { //判断选中状态 var ids =""; var num = 0; $(".checkbox& ...

  9. COS控制台进阶 - 文件预览和在线编辑

    导语 | COS控制台新上线了文件预览功能,用户可在控制台内直接预览.编辑文件内容. 前不久,微软发布了 vscode for web 的公告,是基于web的在线代码编辑器,无需下载安装可以直接在we ...

  10. Blazor组件自做十四 : Blazor FileViewer 文件预览 组件

    Blazor FileViewer 文件预览 组件 目前支支持 Excel(.docx) 和 Word(.xlsx) 格式 示例: https://www.blazor.zone/fileViewer ...

随机推荐

  1. 区块链——Lab2

    区块链的典型数据结构 比特币:UTXO模型,以交易后找零为中心 ETH:Account 模型,以账户余额为中心(就是账户的形式) 区块链交易 用户发起交易 矿工验证交易(能够得到 区块奖励) 验证成功 ...

  2. vue2项目中调取登录接口登录以后获取个人信息以后,储存在哪里,怎么在不同的页面展示想要的信息?

    在Vue2项目中,可以将个人信息存储在Vuex状态管理中或者浏览器的本地存储中,具体取决于项目的需求和规模. 1. Vuex状态管理 在Vuex中定义一个user模块,用于存储用户信息,可以在登录成功 ...

  3. Python 项目:外星人入侵----第一部分

    外星人入侵 1.规划项目 玩家控制着一艘最初出现在屏幕底部中央的飞船,玩家可以使用箭头键左右移动飞船,还可以使用空格键进行射击,游戏开始时,一群外星人出现在天空中,他们在屏幕中下移动.玩家任务是射杀这 ...

  4. [OpenCV-Python] 19 Canny 边缘检测

    文章目录 OpenCV-Python:IV OpenCV中的图像处理 19 Canny 边缘检测 19.1 原理 19.1.1 噪声去除 19.1.2 计算图像梯度 19.1.3 非极大值抑制 19. ...

  5. 虚拟机的安装与linux系统的使用

    虚拟机的安装与应用 下载安装VMware Workstation Pro 安装成功之后点击创建虚拟机 勾选典型机型 勾选自动检测安装映像文件 设置虚拟机的命名和安装路径 设置磁盘的大小和虚拟磁盘的储存 ...

  6. #Python 利用pivot_table,数据透视表进行数据分析

    前面我们分享了,利用python进行数据合并和连接,但是工作中,我们往往需要对数据进一步的聚合或者运算,以求最后的数据结果. 今天我们就来学习一下利用pandas模块,对数据集进行数据透视分析. pi ...

  7. 2022-04-18:things是一个N*3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属

    2022-04-18:things是一个N3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属商 ...

  8. 2021-11-25:给定两个字符串s1和s2,返回在s1中有多少个子串等于s2。来自美团。

    2021-11-25:给定两个字符串s1和s2,返回在s1中有多少个子串等于s2.来自美团. 答案2021-11-25: 改写kmp算法. next数组多求一位. 比如:str2 = aaaa, 那么 ...

  9. SQL Server临时表删除

    SQL Server临时表删除 IF (SELECT object_id('tempdb..#tmpacqichu')) is not null DROP TABLE #tmpacqichu

  10. 2013年蓝桥杯C/C++大学B组省赛真题(第39级台阶)

    题目描述: 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚,然 ...