我在响应中得到的是字符集而不是真实数据。但是,当我大摇大摆地单击“下载文件”时,一切正常。帮我找出问题所在
function downloadDocFile(data: Blob, ext = 'xlsx', name = 'Export'): void {
const downloadUrl = window.URL.createObjectURL(new Blob([data]))
const link = document.createElement('a')
link.href = downloadUrl
link.setAttribute('download', `${name}-${DateTime.now().toLocaleString()}.${ext}`)
document.body.appendChild(link)
link.click()
link.remove()
}
const loading = useLoading()
function handleExport() {
loading.show()
const url = `/bill-of-material/${bomItems.value[0]?.billOfMaterialId}/available-kits/export-xls`
getApiInstance('kitting')
.post(url, { responseType: 'blob' })
.then((data: any) => {
if (data) {
downloadDocFile(data)
}
loading.hide()
})
}
我尝试更改 downloadDocFile 和 handleExport 函数,但没有任何效果。
function downloadDocFile(data: Blob, ext = 'xlsx', name = 'Export'): void {
const downloadUrl = window.URL.createObjectURL(new Blob([data], { type: "application/vnd.ms-excel" }))
const link = document.createElement('a')
link.href = downloadUrl
link.setAttribute('download', `${name}-${DateTime.now().toLocaleString()}.${ext}`)
document.body.appendChild(link)
link.click()
link.remove()
}
const loading = useLoading()
function handleExport() {
loading.show()
const url = `/bill-of-material/${bomItems.value[0]?.billOfMaterialId}/available-kits/export-xls`
getApiInstance('kitting')
.post(url, { responseType: 'blob' })
.then((data: any) => {
if (data) {
downloadDocFile(data)
}
loading.hide()
})
}