位置: 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进程)

  • 荣耀30是双扬声器吗(荣耀30单扬声器还是双扬声器)

    荣耀30是双扬声器吗(荣耀30单扬声器还是双扬声器)

  • 苹果11怎么改电池百分比(苹果11怎么改电话铃声)

    苹果11怎么改电池百分比(苹果11怎么改电话铃声)

  • 苹果11怎么降级(苹果11怎么降级到14.6版本)

    苹果11怎么降级(苹果11怎么降级到14.6版本)

  • 抖音被限流如何快速恢复(抖音限流如何查看)

    抖音被限流如何快速恢复(抖音限流如何查看)

  • oppo手机触屏突然不能用了怎么办(oppo手机触屏突然失灵了什么原因)

    oppo手机触屏突然不能用了怎么办(oppo手机触屏突然失灵了什么原因)

  • 爱奇艺dvd版和普通版有什么不同(爱奇艺上dvd版是什么)

    爱奇艺dvd版和普通版有什么不同(爱奇艺上dvd版是什么)

  • vivoz5微信视频可不可以美颜(vivo手机微信视频时候能不能录下来)

    vivoz5微信视频可不可以美颜(vivo手机微信视频时候能不能录下来)

  • 笔记本待机耗电量大吗(笔记本待机耗电量一小时多少)

    笔记本待机耗电量大吗(笔记本待机耗电量一小时多少)

  • 什么叫小米生态链(什么叫小米生态链企业)

    什么叫小米生态链(什么叫小米生态链企业)

  • 骁龙730g和765g对比(骁龙730g跟765g)

    骁龙730g和765g对比(骁龙730g跟765g)

  • 手机分屏是什么意思(手机分屏是什么意思如何解决)

    手机分屏是什么意思(手机分屏是什么意思如何解决)

  • m1805e2a是小米什么型号(小米m1805e2a价格)

    m1805e2a是小米什么型号(小米m1805e2a价格)

  • 手机没卡可以上微信吗(手机没卡可以上抖音吗)

    手机没卡可以上微信吗(手机没卡可以上抖音吗)

  • 滴滴投诉司机他知道吗(滴滴投诉司机他能知道吗)

    滴滴投诉司机他知道吗(滴滴投诉司机他能知道吗)

  • 加密文件怎么解密(加密文件怎么解密如何解除)

    加密文件怎么解密(加密文件怎么解密如何解除)

  • 苹果三摄像头有什么用(苹果三摄像头有几个)

    苹果三摄像头有什么用(苹果三摄像头有几个)

  • 网口一直闪是怎么回事(网口一直闪烁)

    网口一直闪是怎么回事(网口一直闪烁)

  • x99主板配什么cpu(x99主板配什么cpu性价比高)

    x99主板配什么cpu(x99主板配什么cpu性价比高)

  • linux移动文件命令(linux移动文件命令mv)

    linux移动文件命令(linux移动文件命令mv)

  • 抖音直播游戏怎么弄(抖音直播游戏怎么直播)

    抖音直播游戏怎么弄(抖音直播游戏怎么直播)

  • iphonex如何接工行u盾(苹果x的接入点设置方法)

    iphonex如何接工行u盾(苹果x的接入点设置方法)

  • 荣耀20耳机孔位置在哪里(华为荣耀20s耳机孔)

    荣耀20耳机孔位置在哪里(华为荣耀20s耳机孔)

  • 讯飞输入法如何打日语(讯飞输入法如何自定义皮肤)

    讯飞输入法如何打日语(讯飞输入法如何自定义皮肤)

  • win10蓝牙驱动怎么安装(win10蓝牙驱动怎么安装程序)

    win10蓝牙驱动怎么安装(win10蓝牙驱动怎么安装程序)

  • Vue项目实战——实现一个任务清单(学以致用,两小时带你巩固和强化Vue知识点)(vue做项目的流程)

    Vue项目实战——实现一个任务清单(学以致用,两小时带你巩固和强化Vue知识点)(vue做项目的流程)

  • 税务专业是什么学位
  • 财务软件怎么样从捷软系统导出数据
  • 电子税务局怎么登录
  • 记账凭证背面怎么填写
  • 行政处罚属于什么费用
  • 企业名称变更需要重新核名吗
  • 房地产自有资金投入
  • 商业企业收取各项费用的税务与会计处理
  • 可转换公司债券属于哪一类金融资产
  • 房产租赁合同印花税
  • 公司车买保险怎么付款
  • 铁路运输发票的开具要求
  • 普通发票扣税
  • 完工绿化苗木怎样结转成本?
  • 银行对个人借款的处理
  • 委托加工收回后直接销售的消费税
  • 加了一年的油
  • 财政拨款申请格式怎么写
  • 成品油消费税征税
  • 发票勾选操作失败怎么回事
  • 开票金额是纳税金额吗
  • 成交转化率的计算公式电脑
  • 1697510839
  • 固定资产折旧的影响因素
  • 你知道怎么安装
  • 股东分红个税怎么做账
  • 预售卡怎么做会计分录
  • 尼泊尔乡村
  • 国税0申报如何网上申报
  • timit数据集
  • nlp图
  • 腾达路由器桥接的方法
  • 现金支票提取备用金会计处理
  • 房地产企业土地出让金抵减销项税额
  • php字符串转浮点型
  • 预算超支怎么办
  • 论文 导论
  • 直连路由,静态路由
  • bert模型能做什么
  • react中key
  • 投稿p2
  • 所得税预缴申报表怎么填
  • JavaWeb之Servlet
  • 现金盘盈盘亏怎么处理
  • 运费已付发票未到会计分录
  • 工会经费和残保金不交有什么影响
  • 小规模纳税人升级为一般纳税人
  • 个体工商户税务登记需要哪些资料
  • 闭包怎么求
  • 工程服务费会计怎么做账
  • 劳动保护费是否可以抵扣
  • 银行承兑到期后未兑付
  • 一般纳税人购买固定资产进项税可以抵扣吗
  • 投资入股行为
  • 组织机构代码证图片
  • mysql5.7.19下载
  • freebsd使用手册
  • txt无法打开怎么弄
  • xp桌面底部任务栏不见了
  • SPBBCSvc.exe - SPBBCSvc进程是什么文件 有什么作用
  • 电脑开机绿
  • netcfg -d
  • windows7回收站图标没了
  • win102020h2
  • centos安装编译环境
  • mmc.exe是什么进程
  • windows8.1的设置在哪
  • caddll丢失
  • windows图片锁屏
  • html5+css3新特性
  • JavaScript中数组包含的属性和方法有哪
  • node.js如何运行
  • 如何给textarea赋值
  • ubuntu快捷键大全
  • python生产
  • 扬州地方税务局在哪
  • 重庆电子税务局电话人工客服电话
  • 河南省郑州市巩义市籍贯怎么写
  • 2021河南省中考英语听力音频
  • 武汉二手房交易信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设