Sie können auch eine Datei direkt aus Ihrer Vorlage herunterladen, wo Sie das Download-Attribut verwenden, und sie können einen Eigenschaftswert aus der Komponente angeben. Diese einfache Lösung sollte in den meisten Browsern funktionieren. Dies ist das vollständige Beispiel mit dem Anwendungsteil und dem Serviceteil danach. Beachten Sie, dass wir die Beobachtung “Antwort” festlegen, um den Header für den Dateinamen abzufangen. Beachten Sie auch, dass der Content-Disposition-Header vom Server festgelegt und verfügbar gemacht werden muss, da der aktuelle Angular HttpClient ihn andernfalls nicht weitergibt. Ich habe unten einen dotnet-Kerncode hinzugefügt. Innerhalb downloadFile(daten) Funktion müssen wir Block, Link, href und Dateinamen Download-Datei zu machen, wenn Sie auf den Link (anstatt zur Datei zu navigieren): Um eine App herunterzuladen, erfahren Sie, wie Sie Apps auf Google Play finden und herunterladen. Geben Sie einen Wert für das Download-Attribut an, der der neue Dateiname der heruntergeladenen Datei (“w3logo.jpg” anstelle von “myw3schoolsimage.jpg”) ist: Wenn Sie Ihren Standard-Download-Speicherort nicht geändert haben, dann lädt Google Chrome Dateien an folgende Orte herunter: “a href=”my_url” download=”myfilename”>Datei herunterladen Wenn die Anforderung bereit ist, ruft sie die Funktion “downloadFile” auf, die wie folgt definiert ist: Das Download-Attribut gibt an, dass das Ziel heruntergeladen wird, wenn ein Benutzer auf den Hyperlink klickt. Diese Dateien bestehen aus zufälligen Daten, und obwohl als ZIP-Dateien aufgeführt, wird scheinen beschädigt zu sein, wenn Sie versuchen, sie zu öffnen.

MD5SUMS sind für diese Dateien verfügbar. Der Wert des Attributs ist der Name der heruntergeladenen Datei. Es gibt keine Einschränkungen für zulässige Werte, und der Browser erkennt automatisch die richtige Dateierweiterung und fügt sie der Datei hinzu (.img, .pdf, .txt, .html, etc.). Sie können einen Speicherort auf Ihrem Computer auswählen, an dem Downloads standardmäßig gespeichert werden sollen, oder für jeden Download ein bestimmtes Ziel auswählen. Sobald die Datei vom Server abgerufen wird, delegiere ich im Prinzip die gesamte Aufgabe, die Datei an die Hilfsfunktion zu speichern, die ich in einer separaten Datei behalte, und importiere in die Komponente, die ich herunterladen und PDF-Dateien anzeigen muss, ein sehr ähnlicher Code ist wie folgt: 3- In der Komponente parse das Blob mit `file-saver` Dies wird Ihnen xls Dateiformat geben. Wenn Sie möchten, dass andere Formate den Medientyp und den Dateinamen mit der richtigen Erweiterung ändern. Hinweis: Ich versuche, eine Excel-Datei herunterzuladen, und obwohl der Download ausgelöst wird (so dass dies die Frage beantwortet), ist die Datei beschädigt. Sehen Sie sich die Antwort auf diesen Beitrag an, um die beschädigte Datei zu vermeiden. Referenz: www.w3schools.com/tags/att_a_download.asp Dies ist für Leute, die suchen, wie man es mit HttpClient und file-saver zu tun: Ich habe in der Datei-Saver als @Hector Cuevas in seiner Antwort genannt hinzugefügt.