【预览】使用WPS的在线预览文件

// An highlighted block
preview(url) {
          
   
      let type = global.fileUrl(url);
      if (type == "word" || type == "excel" || type == "txt") {
          
   
        window.open(`https://wps-view.zhihuipk.com/?src=${
            
     url}`);
      } else if (type == "pdf" || type == "image") {
          
   
        window.open(`${
            
     url}`);
      } else {
          
   
        this.$message.error("该格式不可在线预览,请下载后查看");
      }
    },

/**判断文件格式(global.fileUrl)的方法体
 * @param fileUrl
 */
export const fileUrl = (url) => {
          
   
  // 后缀获取
  let suffix = 
  // 获取类型结果
  let result = 
  try {
          
   
      const flieArr = url.split(.)
      suffix = flieArr[flieArr.length - 1]
  } catch (err) {
          
   
      suffix = 
  }
  // fileName无后缀返回 false
  if (!suffix) {
          
    return false }
  suffix = suffix.toLocaleLowerCase()
  // 图片格式
  const imglist = [png, jpg, jpeg, bmp, gif]
  // 进行图片匹配
  result = imglist.find(item => item === suffix)
  if (result) {
          
   
      return image
  }
  // 匹配txt
  const txtlist = [txt]
  result = txtlist.find(item => item === suffix)
  if (result) {
          
   
      return txt
  }
  // 匹配 excel
  const excelist = [xls, xlsx]
  result = excelist.find(item => item === suffix)
  if (result) {
          
   
      return excel
  }
  // 匹配 word
  const wordlist = [doc, docx]
  result = wordlist.find(item => item === suffix)
  if (result) {
          
   
      return word
  }
  // 匹配 pdf
  const pdflist = [pdf]
  result = pdflist.find(item => item === suffix)
  if (result) {
          
   
      return pdf
  }
  // 匹配 ppt
  const pptlist = [ppt, pptx]
  result = pptlist.find(item => item === suffix)
  if (result) {
          
   
      return ppt
  }
  // 匹配 视频
  const videolist = [mp4, m2v, mkv, rmvb, wmv, avi, flv, mov, m4v]
  result = videolist.find(item => item === suffix)
  if (result) {
          
   
      return video
  }
  // 匹配 音频
  const radiolist = [mp3, wav, wmv]
  result = radiolist.find(item => item === suffix)
  if (result) {
          
   
      return radio
  }
  // 包
  const packagelist = [zip, rar]
  result = packagelist.find(item => item === suffix)
  if (result) {
          
   
      return package
  }
  // 其他 文件类型
  return other

}
经验分享 程序员 微信小程序 职场和发展