pdf、txt格式的文件 可以直接在浏览器当中打开查看,而word、excel、ppt等office办公文件却不能直接在浏览器当中打开,如果在浏览器中访问这些格式的文件的话 就出现下载对话框 这说明 这些格式的文件浏览器不能识别 所以会弹出下载窗口让我们下载到本地进行查看。无论是使用Chrome还是Firefox或者其它浏览器 都是一样的效果 访问这些办公格式的文件 浏览器都会弹出下载框让你下载到本地进行查看。
一、使用微软提供的 office online 工具 实现浏览器中打(预)开(览)word、excel、ppt等办公软件格式的文件
Office Online简介:Office Online 将 Microsoft Office 体验扩展到了 web 浏览器,这使我们可以直接在浏览器中进行文档处理。
使用方式:https://view.officeapps.live.com/op/view.aspx?src=word、excel、ppt等文件的具体访问地址
例如:https://view.officeapps.live.com/op/view.aspx?src=http://www.css3er.com/uploads/upfile/1/20210927/61516c9b0fa99.ppt
用代码实现点击某个办公文件预览的时候,在浏览器可以直接打开查看办公文件,示例伪代码如下(php语言编写):
$fileType = strrchr($fileUrl,'.'); //获取文件类型 if($fileType == 'PDF' || $fileType =='txt') { //直接网页中打开 } else if($fileType == 'doc' || $fileType =='docx' || $fileType =='xlsx' || $fileType =='xls') { header('HTTP/1.1 301 Moved Permanently'); header('Location: https://view.officeapps.live.com/op/view.aspx?src='.'http://www.css3er.com/uploads/'.$fileUrl); //fileUrl 必须是绝对路径 }
使用Office Online的注意事项:
①、Office Online要访问的文件 必须是公网可以访问的到的!
②、如果是前端js之类要访问使用Office Online的话,需要给URL采用encodeURIComponent()方法进行转码处理。
js使用示例:https://view.officeapps.live.com/op/view.aspx?src=encodeURIComponent(http://www.css3er.com/file/demo.xlsx)
③、文件路径不能包含ip,必须是域名 否则识别不到。
④、Office Online目前并没有对应app应用程序的版本 如果是app内嵌可能会有无法缩放的问题。app的话 可以直接跳转手机内置浏览器 来访问使用的。
PS:其实 如果使用了微软的 Edge 浏览器 来直接访问办公文件的时候 Edge浏览器就会自动跳转到 Office Online工具上 自动打开该文档的。
二、除了微软外 更多功能的XDOC文档预览云服务 (https://view.xdocin.com) 个人感觉挺功能强
简单 实时响应 跨端 多种格式, 水印 ,时效等... 更多可参考官网 👆
PS:当然了 这个xdoc文档预览云服务是花钱的哦。。。
三、在后端直接把这些文件全部转换成html格式
在服务端把这些文件转换成html格式,这样就会统一所有浏览器的表现效果了。
声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。
精彩评论