iframe渲染后端二进制流实现pdf等预览

2021-07-07  本文已影响0人  Taijia

template部分:

<iframe :src="pdfUrl" frameborder="0" style="width: 100%; height: 90vh"></iframe>

js方法:

async showDoc(data) {
      console.log('doc---', data)
      try {
        this.isShowPdfDialog = true
        this.isViewPdfLoading = true
        const res = await fileService.downloadFile(`Hud/document/${data.DocumentId}`)
        if (res) {
          const blob = new Blob([res], {    // 关键代码
            type: 'application/pdf'
          })
          this.pdfUrl = window.URL.createObjectURL(blob)  // 关键代码
          console.log('pdfUrl', this.pdfUrl)
          this.getPdfFormData(data.DocumentId)
          this.isViewPdfLoading =false
        }
      } catch(err) {
        this.isViewPdfLoading = false
      }
    },
上一篇 下一篇

猜你喜欢

热点阅读