Einführung
Integration von Dateidownloads von Webdiensten in AngularJS-Anwendungen kann aufgrund von Browsereinschränkungen zu Herausforderungen führen. In diesem Artikel werden verschiedene Methoden zum Umgang mit dem Herunterladen von Binärdateien in AngularJS erläutert.
Einfache Download-Methode
Für einfache Dateidownloads können Sie einfach eine GET-Anfrage mit a auslösen Vom Browser unterstützter Dateipfad:
$scope.downloadFile = function(downloadPath) { window.open(downloadPath, '_blank', ''); }
Ajax Binary Download Methode
Um Binärdatei-Downloads über Ajax durchzuführen, können Sie dieses Skript in Browsern wie Chrome, Internet Explorer, Firefox und Safari verwenden. Beachten Sie, dass navigator.msSaveBlob nur separat in Internet Explorer 11 funktioniert.
$scope.downloadFile = function(httpPath) { // ... (Code omitted for brevity) ... try { // ... (Code omitted for brevity) ... if (navigator.msSaveBlob) navigator.msSaveBlob(blob, filename); else { // ... (Code omitted for brevity) ... } } catch (ex) { // ... (Code omitted for brevity) ... } if (!success) { // ... (Code omitted for brevity) ... } }
Verwendung:
var downloadPath = "/files/sample.pdf"; $scope.downloadFile(downloadPath);
Erforderliche Web-API-Antwortheader
Um einen ordnungsgemäßen Dateidownload sicherzustellen, sollte Ihre Web-API-Methode Folgendes zurückgeben Header:
Fazit
Dieser Artikel bietet verschiedene Ansätze zum Verwalten von Dateidownloads von Web-API-Diensten in AngularJS-Anwendungen. Wählen Sie basierend auf den spezifischen Browserfunktionen und Anforderungen Ihres Projekts die Methode aus, die Ihren Anforderungen am besten entspricht.
Das obige ist der detaillierte Inhalt vonWie lade ich Dateien von der ASP.NET-Web-API mit AngularJS herunter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!