<iframe v-if="previewSrc" :src="previewSrc" frameborder="0" style="width: 100%; height: 770px"></iframe>
====================js=============================================
previewPdf (url, type = 1, callBack) {
let xhr = new XMLHttpRequest()
xhr.withCredentials = true
xhr.open('get', url, true)
xhr.setRequestHeader(
'Content-Type',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
xhr.responseType = 'blob'
xhr.onload = function () {
if (this.status === 200) {
let changeUrl = ''
let file = new Blob([this.response], { type: 'application/pdf' })
if (window.createObjectURL !== undefined) {
changeUrl = window.createObjectURL(file)
} else if (window.webkitURL !== undefined) {
try {
changeUrl = window.webkitURL.createObjectURL(file)
} catch (error) {
}
} else if (window.URL !== undefined) {
try {
changeUrl = window.URL.createObjectURL(file)
} catch (error) {
}
}
if (type === 1) {
callBack && callBack(changeUrl)
} else {
let a = document.createElement('a')
a.href = changeUrl
a.target = '_blank'
let evt = document.createEvent('MouseEvents')
evt.initEvent('click', true, true)
a.dispatchEvent(evt)
}
}
}
xhr.send()
},
toPreview (id) {
this.previewPdf(this.$basePath + '/riskSurveyHistory/currentRiskSurveyPdf/'+ id, 1, (changeUrl) => {
this.previewSrc = changeUrl
Object.assign(this.preview, {
isShow: true,
url: null
})
this.$nextTick(() => {
this.loading = false
})
})
},