在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近在做电子档案,后端提供了文件的华为云的oss链接。已经实现了点击下载文件的功能。但是呢,他们又希望常规的文件,可以直接点击预览,不需要下载。 按道理说,做文件的在线预览,买个第三方服务什么的,后端部署一下服务,前端对接一下,就通通搞定。 方法一用微软的office online进行在线预览 https://view.officeapps.live.com/op/view.aspx?src=文件地址 方法二用docx云服务的在线预览,用法跟微软差不多
前提是后端提供的文件地址是要公开可访问的链接,比如我们这里是将文件上传到华为云的。文件只支持查看,不能编辑。 效果如下
上代码 <!-- 预览图标 --> <i v-if="row.doc_url && canPreviewList.includes(row.doc_ext)" style="font-weight: bold;font-size:16px;" class="link-type el-icon-view" @click.stop="previewFileEvent(row)" /> previewFileEvent(row) { const typeArr = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx'] let url = '' if (typeArr.indexOf(row.doc_ext) !== -1) { // 使用微软的office online url = 'http://view.officeapps.live.com/op/view.aspx?src=' + row.doc_url } else { url = row.doc_url } // window.open()居中打开 const width = 1000; const height = 800 const top = (window.screen.availHeight - height) / 2 const left = (window.screen.availWidth - width) / 2 window.open(url, '', 'width=' + width + ',height=' + height + ',top=' + top + ',left=' + left) } 我这里使用的是微软提供的服务。可以用来打开'doc', ‘docx', ‘ppt', ‘pptx', ‘xls', 'xlsx'文件。 这里遇到个问题,txt文件,直接在浏览器打开是乱码的。下载下来是正常的,没找到解决方法。 txt文件乱码的原因找到了。跟浏览器的编码格式有关。 我这里的txt文件,保存的时候是utf-8编码。但是谷歌浏览器默认的不是。
要修改成对应的编码格式,显示才会正常。 修改谷歌浏览器编码格式,需求到应用商店安装一个官方插件Set Character Encoding 到此这篇关于vue实现在线预览office文件的示例代码的文章就介绍到这了,更多相关vue 在线预览office 内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论