PDF-Blob nicht zeigen von Inhalten, Winkel 2
Problem habe ich sehr ähnlich wie diese PDF-Blob - Pop-up-Fenster nicht anzeigen von content, aber ich bin mit Winkel-2. Die Antwort auf die Frage war, responseType zu arrayBuffer, aber es nicht funktioniert, im Winkel 2, der Fehler der reponseType existiert nicht in Typ RequestOptionsArgs. Ich habe auch versucht, um es zu erweitern, indem BrowserXhr, aber noch nicht arbeiten (https://github.com/angular/http/issues/83).
Mein code ist:
createPDF(customerServiceId: string) {
console.log("Sending GET on " + this.getPDFUrl + "/" + customerServiceId);
this._http.get(this.getPDFUrl + '/' + customerServiceId).subscribe(
(data) => {
this.handleResponse(data);
});
}
Und die Methode handleResponse:
handleResponse(data: any) {
console.log("[Receipt service] GET PDF byte array " + JSON.stringify(data));
var file = new Blob([data._body], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
window.open(fileURL);
}
Ich habe auch versucht, saveAs-Methode aus FileSaver.js aber es ist das gleiche problem, die pdf-Datei geöffnet, der Inhalt wird jedoch nicht angezeigt. Dank
InformationsquelleAutor Loutocký | 2016-05-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich eine Menge Probleme mit dem herunterladen und zeigen von Inhalten der PDF, die ich wahrscheinlich verschwendet einen Tag oder zwei, um es zu beheben, so werde ich nach der Arbeit Beispiel dafür, wie erfolgreich PDF herunterladen oder öffnen im neuen tab:
myService.ts
myComponent.ts
HINWEIS
Es ist auch erwähnenswert, dass, wenn Sie erweitern
Http
Klasse hinzufügenheaders
alle Ihre Anfragen oder so etwas wie, dass, es kann auch zu Problemen für den Download von PDF, denn Sie werden das überschreibenRequestOptions
ist, wo wir hinzufügenresponseType: ResponseContentType.Blob
- und diese erhalten SieThe request body isn't either a blob or an array buffer
Fehler.Sie sind sehr willkommen! Um ehrlich zu sein, ich glaube nicht, jemand anderes würde stolpern das gleiche problem. 🙂
Der res.blob() war, was mir fehlte. Die meisten Beispiele die ich gesehen habe, nur tun [res]
Dies war für mich perfekt, ich war den Umgang mit und das Bild, kein pdf
Ich habe eine Frage zum Umgang mit dem Fall, wenn
http
verlängert hinzufügen JWT jede Anfrage. Sind Sie bereit zu helfen? Hier ist der link.InformationsquelleAutor Stefan Svrkota
WINKEL 5
Ich hatte das gleiche problem, das ich verloren habe wenige Tage an.
Hier meine Antwort vielleicht anderen helfen, die geholfen, Rendern von pdf.
Für mich, obwohl, wenn ich erwähne, wie responseType : "arraybuffer", es war nicht in der Lage, es zu nehmen.
Für Sie, dass Sie brauchen, um zu erwähnen, wie responseType : 'arraybuffer' als 'json'.(Referenz)
Funktionierenden code
Bezeichnet aus dem folgenden link
https://github.com/angular/angular/issues/18586
InformationsquelleAutor MPPNBD
Amit,
Sie können benennen Sie die Dateinamen durch hinzufügen einer Variablen an das Ende der Zeichenfolge
so
saveAs(res, "myPDF.pdf");
Wird
wo someVariable könnte ein counter oder mein persönlicher Favorit, ein Datum-Uhrzeit-Zeichenfolge.
InformationsquelleAutor Ken