Heim > Fragen und Antworten > Hauptteil
handleDownload()
Der Schaltfläche wird eine Funktion als Event-Handler (onclick) hinzugefügt, damit der Benutzer die Datei herunterladen kann. Der Benutzer kann herunterladen, aber die Datei ist beschädigt. Wie verhindern wir Dateibeschädigungen?
function handleDownload(){ const domain = window.location.origin; const url =`${domain}/images/athar.pdf` fetch(url). then(response=>response.blob()). then(blob=>{ const blobURL= window.URL.createObjectURL( new Blob([blob])) const filename = 'athar.pdf' const aTag = document.createElement('a') aTag.href=blobURL aTag.setAttribute('download',filename) document.body.appendChild(aTag) aTag.click() aTag.remove() }). catch(e=>console.log(e)) }
P粉3843669232023-09-11 00:42:43
由于您已经收到 Blob 形式的响应,因此无需再次将其转换为 Blob,因此请尝试删除该部分。
尝试替换:
const blobURL= window.URL.createObjectURL( new Blob([blob]))
这样:
const blobURL= window.URL.createObjectURL(blob);