位置: IT常识 - 正文

vue 前端根据url在线预览pdf、docx、xlsx、txt、html文件(vue页面获取url参数)

编辑:rootadmin
vue 前端根据url在线预览pdf、docx、xlsx、txt、html文件 一、pdf通过pdf.js实现

推荐整理分享vue 前端根据url在线预览pdf、docx、xlsx、txt、html文件(vue页面获取url参数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue请求url,vue页面获取url参数,vue页面获取url参数,vue url-loader,vue通过url访问单个页面,vue url-loader,vue前端怎么调用接口代码,vue url#,内容如对您有帮助,希望把文章链接给更多的朋友!

1、下载pdf.js文件夹; http://mozilla.github.io/pdf.js/ 2、将下载的文件拉进项目中; 详见:https://blog.csdn.net/m0_56415970/article/details/124316169 3、iframe

<iframe id="iframe" :src="url" frameborder="0" ></iframe> return 'web/viewer.html?file=' + this.pdfUrlvue 前端根据url在线预览pdf、docx、xlsx、txt、html文件(vue页面获取url参数)

注: 使用pdf.js时,当有跨域的问题时,会加载失败,错误信息为: file origin does not match viewer’s。

注释掉web/viewer.js中的这几行,不去判断跨域即可。

if (origin !== viewerOrigin && protocol !== 'blob:') { throw new Error('file origin does not match viewer\'s');}

禁掉这三行。

二、docx通过插件docx-preview实现

1、安装: npm i docx-preview --save 2、vue文件中引入: var docx = require("docx-preview"); 3、使用

<div ref="file"></div>axios({ method: 'get', responseType: 'blob', // 设置响应文件格式 url: this.url,//后端获取到的文件url }).then(({ data }) => { docx.renderAsync(data, this.$refs.file) // 渲染到页面预览 })三、xlsx

1、安装: npm i xlsx --save 2、vue文件中引入: let XLSX = require('xlsx')

3、使用

<div v-html="tableau"></div>axios.get(this.url, { responseType: 'arraybuffer', // 设置响应体类型arraybuffer }).then(({ data }) => { let workbook = XLSX.read(new Uint8Array(data), { type: 'array' }) // 解析数据 let worksheet = workbook.Sheets[workbook.SheetNames[0]] // workbook.SheetNames 下存的是该文件每个工作表名字,这里取出第一个工作表 this.tableau = XLSX.utils.sheet_to_html(worksheet) // 渲染 })四、txt和html文件//txt<div class="txtSty"> {{ txt }}</div>//html<div v-html="htmlText" class="htmlSty"></div> loadTxtOrHtml(url,num) { var xh = window.Event ? new XMLHttpRequest() : new window.ActiveXObject('Microsoft.XMLHTTP') xh.open('GET', url, true) //这里改变编码格式,如果是txt格式,则为gb2312,如果是html格式,则为utf-8 let code = num == '3'? 'gb2312':'utf-8' if (window.Event) xh.overrideMimeType('text/xml;charset='+ code) xh.onreadystatechange = ()=> { if (xh.readyState != 4) return var v v = window.Event ? xh.responseText : window.gb2utf8(xh.responseBody) this.txt = v//txt文件内容 this.htmlText = v//html文件内容 } window.gb2utf8 = (data)=> { var glbEncode = [], t, i, j, len var gb2utf8_data = data window.execScript("gb2utf8_data = MidB(gb2utf8_data, 1)+' '", 'vbscript') t = escape(gb2utf8_data) .replace(/%u/g, '') .replace(/(.{2})(.{2})/g, '%$2%$1') .replace(/%([A-Z].)%(.{2})/g, '@$1$2') t = t.split('@') i = 0 len = t.length while (++i < len) { j = t[i].substring(0, 4) if (!glbEncode[j]) { var gb2utf8_char = eval('0x' + j) window.execScript('gb2utf8_char=Chr(gb2utf8_char)', 'vbscript') glbEncode[j] = escape(gb2utf8_char).substring(1, 6) } t[i] = glbEncode[j] + t[i].substring(4) } gb2utf8_data = gb2utf8_char = null return unescape(t.join('%')).slice(0, -1) } xh.send(null) },
本文链接地址:https://www.jiuchutong.com/zhishi/278004.html 转载请保留说明!

上一篇:在Linux中安装是使用系统性能监控软件Nmon(linux安装方式有)

下一篇:microsoft.exe进程查询 microsoft进程是什么意思 作用是什么(office进程)

  • 接种加强针健康码会显示吗(接种加强针健康码有钻石)

    接种加强针健康码会显示吗(接种加强针健康码有钻石)

  • 京东企业账户怎么注册(京东企业账户怎么充值)

    京东企业账户怎么注册(京东企业账户怎么充值)

  • torrent文件用什么软件打开(torrent文件手机怎么打开)

    torrent文件用什么软件打开(torrent文件手机怎么打开)

  • 知道id密码能查到什么(知道id密码能查到微信聊天记录吗)

    知道id密码能查到什么(知道id密码能查到微信聊天记录吗)

  • iphone视频怎么重命名(iphone视频怎么重复播放)

    iphone视频怎么重命名(iphone视频怎么重复播放)

  • 如何发送视频文件过大的视频(如何发送视频文件原画质过大的视频)

    如何发送视频文件过大的视频(如何发送视频文件原画质过大的视频)

  • 智能网关用户名和密码是什么(智能网关用户名是什么)

    智能网关用户名和密码是什么(智能网关用户名是什么)

  • word普通视图在哪

    word普通视图在哪

  • xsmax多长厘米(苹果手机xsmax多长厘米)

    xsmax多长厘米(苹果手机xsmax多长厘米)

  • 真我是oppo旗下的嘛(真我是oppo的牌子吗)

    真我是oppo旗下的嘛(真我是oppo的牌子吗)

  • 苹果8是什么时候上市在中国(苹果8是什么时候发布的手机)

    苹果8是什么时候上市在中国(苹果8是什么时候发布的手机)

  • 电脑硬盘坏了里面的东西能恢复吗(电脑硬盘坏了里面的资料可以导出来不)

    电脑硬盘坏了里面的东西能恢复吗(电脑硬盘坏了里面的资料可以导出来不)

  • 微信号注销为什么还能搜到(微信号注销为什么是非法请求)

    微信号注销为什么还能搜到(微信号注销为什么是非法请求)

  • 电脑怎么打艾特符号(电脑上如何打出艾特)

    电脑怎么打艾特符号(电脑上如何打出艾特)

  • 网易云音乐mv能投屏吗(网易云音乐mv能下载吗)

    网易云音乐mv能投屏吗(网易云音乐mv能下载吗)

  • 来电秀怎么设置不成功(七彩来电秀怎么设置)

    来电秀怎么设置不成功(七彩来电秀怎么设置)

  • vivo手机计步器在哪里(vivo手机计步器在哪)

    vivo手机计步器在哪里(vivo手机计步器在哪)

  • fliqlo怎么设置成屏保(fliqlo怎么设置成手机屏保)

    fliqlo怎么设置成屏保(fliqlo怎么设置成手机屏保)

  • 电脑微信的聊天记录是哪个文件夹(电脑微信的聊天记录怎么彻底删除)

    电脑微信的聊天记录是哪个文件夹(电脑微信的聊天记录怎么彻底删除)

  • 华为投诉电话打哪个(华为投诉电话4009300收费吗)

    华为投诉电话打哪个(华为投诉电话4009300收费吗)

  • 笔记本一开机正在休眠(笔记本开机正在扫描和修复驱动器)

    笔记本一开机正在休眠(笔记本开机正在扫描和修复驱动器)

  • 怎样查一个人的手机号(怎样查一个人的位置)

    怎样查一个人的手机号(怎样查一个人的位置)

  • 鸿蒙怎么查看运行内存?鸿蒙查看运行内存教程(鸿蒙系统怎么看运行程序)

    鸿蒙怎么查看运行内存?鸿蒙查看运行内存教程(鸿蒙系统怎么看运行程序)

  • 施工项目预缴税率是多少
  • 用友项目核算科目的项目不能为空
  • 当月的进项当月可以认证吗
  • 坏账准备应计入
  • 个人保险发票能抵扣个税
  • 新会计准则科目编码
  • 销售税金及附加含增值税吗
  • 当期进项税额大于销项税额
  • 投资性房地产的处置账务处理
  • 增值税税控设备服务费
  • 工程保险费属于企业管理费吗
  • 开出转账支票用什么凭证
  • 小微企业企业税率表
  • 营改增后消费型增值税怎么算及举例说明
  • 机票报销发票抬头要开公司的吗
  • 如何从工商信息中看出是小规模还是一般纳税人
  • 收到银行利息会计分录怎么做账
  • 购买机动车怎样抵扣进项税
  • 利润出现负数怎么调整
  • 转账支票到期了怎么兑现
  • 现金流量表的编制原则为( ),是( )的概念
  • 销售费用占收入比例叫什么
  • 公司收到项目投资款怎么做账 项目结束后需要退本金
  • 计提的跌价准备销售时怎么处理
  • 无形资产的界定及特点
  • 预付款不退如何投诉
  • 外商投资企业采用交易发生日的即期汇率
  • 临时工工资计入哪里
  • 进出口公司如何做账
  • 代理业务资产的核算方法
  • 猿创征文,宝藏工具篇
  • wordpress all in one
  • 印花税没有及时交会有什么后果
  • 建筑材料开票可以抵税吗
  • python的多线程 吃cpu太厉害
  • C语言中如何计算除法
  • PostgreSQL中使用dblink实现跨库查询的方法
  • sql将一列数据变成一行显示
  • 小规模首次申请发票张数
  • 低值易耗品摊销计入什么科目
  • 哪些项目的进项不含税
  • 企业净利润流量怎么算
  • 单位车辆折旧费可以税前扣除吗
  • 个体工商户法人可以变更吗?
  • 扣税时账上没钱怎么办
  • 公司收到某人打款怎么做分录
  • 公司缴纳社保如何转为个人缴纳
  • 税务开票系统如何设置不用重复登录
  • 建筑公司需要什么人员
  • 银行利息收入的会计分录怎么写
  • 过节费可以发现金吗
  • 支付销售途中运费怎么算
  • 企业进行长期投资的意义
  • sqli
  • windows10x预览版
  • mac移动硬盘怎么改名
  • 方正笔记本
  • 电脑硬件用途
  • win7同步中心怎么关掉
  • 电脑图片密码是什么意思
  • 忘记mysql root密码的解决方法
  • windows用户如何添加新用户账户信息
  • Linux操作系统中怎么永久设置环境变量?
  • windows打开
  • 红石数据
  • pythonlist切片
  • linux压缩命令compress
  • js基于什么
  • jquery操作html代码
  • 百度地图api报错502
  • beautiful python
  • Python中random模块
  • :javascript
  • 个人取得抽奖,购车抵用,需要缴纳个人所得税吗
  • 十九届三中全会主题
  • 黄山市国家税务局倪国初
  • 房地产的营业税税率
  • 税务之星ii驱动
  • 奔驰g500落地多少
  • 国税税票在哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设