JavaScript实现Word、Excel、PPT在线预览

  在项目中前端需要根据后台返回的文件地址实现在线预览,图片、视频、pdf等格式的文件用

window.open(url)

window.location.href=url

能够实现在线预览,但Word、Excel、PPT文档用同样的方式打开则是默认下载。

  微软office online提供了接口来实现Word、Excel、PPT文档在线预览:

http://view.officeapps.live.com/op/view.aspx?src=<Document Location>

查看文档地址Office Web Viewer: View Office documents in a browser。实现在线预览的前提是预览资源必须是公共可访问的,通过联机查看 Office 文档可以测试文件是否可以在线预览。

/**
 * @description [viewFile 查看文件]
 * @author  ZouMiao
 * @param {String} url [文件地址]
 * @returns {Null} [没有返回]
 */
export const viewFile = function (url) {
  let onlineViewType = ['doc', 'docx', 'xls', 'xlsx', 'xlsm', 'ppt', 'pptx']
  let fileTypeName = url.substring(url.lastIndexOf('.') + 1, url.length).split('?')[0]
  let isWord = onlineViewType.find((type) => type === fileTypeName)
  if (isWord) {
    url = 'http://view.officeapps.live.com/op/view.aspx?src=' + url
  }
  window.open(url, '_blank')
}

在这里插入图片描述
  在项目中使用在线预览有时报File too large,The file specified is larger than what the Office Online Viewers are configured to support.Reduce the size of the file to view it online.
在这里插入图片描述
File too large Error: The file specified is larger than what the Office Online Viewers are configured to support. Reduce the size of the file to view it online.
在这里插入图片描述
Office Online产品团队的Ryan回复

The document is too large. Word and PowerPoint documents must be less than 10 megabytes; Excel must be less than five megabytes.

  所以使用Office Online必须注意Word、PPT文件不能大于10M,Excel文件不能大于5M。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值