Ich verwende einen Webservice, um eine base64-Zeichenfolge abzurufen, und muss dem Benutzer dieses Dokument als PDF anzeigen.
var charactersArray = atob(base64String);
var byteNumbers = new ArrayBuffer(charactersArray.length);
for (var i = 0; i < charactersArray.length; i++) {
byteNumbers[i] = charactersArray.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var file = new File([byteArray], "file.pdf", {
type: "application/pdf",
});
Ich verwende dann diese "Datei", um eine URL mit zu erstellen
var url = URL.createObjectURL(file);
Ich öffne diese URL in einer Schaltfläche mit der ng-click-Anweisung, aber ich lade das PDF.
Sie müssen die Zeichencodes in die schreiben byteArray
und nicht in dieArrayBuffer
var charactersArray = atob(base64String);
var len = charactersArray.length;
var byteNumbers = new ArrayBuffer(len);
var byteArray = new Uint8Array(byteNumbers);
for (var i = 0; i < len; i++) {
byteArray[i] = charactersArray.charCodeAt(i);
}
var file = new File([byteArray], "file.pdf", {
type: "application/pdf",
});
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen