Ich habe Probleme mit der Anforderung des Typs ResponseContentType.Blob
und erhalte eine Fehlermeldung im Falle eines fehlgeschlagenen Anrufs.Greifen Sie auf Fehlerantwortdaten zu, wenn ResponseContentType.Blob verwendet wird
Der Code ist ziemlich einfach:
let headers = new Headers({'Content-Type': 'application/json'});
let options = new RequestOptions({headers: headers, responseType: ResponseContentType.Blob});
return this.http.post('url', data, options)
.subscribe(res => ..., err => console.log(err.json()) /* the problem is here */);
So JSON als Server-Antwort im Fehlerfall vollständig klären haben, aber ich kann nicht darauf zugreifen: err.json()
kehrt Blob {size: 194, type: "application/json"}
nur Daten.
Zugriff auf Antwortdaten? Ich kann zu etw sonst nicht ändern, wie ich Datei im Falle der Erfolganforderung erwarte.
beide err.json() und err.blob() gibt in diesem Fall das gleiche Ergebnis zurück – VadimB
warum der Anruf fehlgeschlagen ist? show screenshot des Antwortinhalts von der Konsole –
Der Aufruf ist wegen einiger Validierungslogik fehlgeschlagen, zum Beispiel indem versucht wird, eine Datei an eine bereits gelöschte Anfrage anzuhängen (von einem anderen Benutzer als Beispiel). Es viele Validierungslogik sind, so Auslösung wieder Fehler sind in Ordnung – VadimB