簡介
將來自Web 服務的檔案下載到AngularJS 應用程式中由於瀏覽器限制,可能會帶來挑戰。本文探討了 AngularJS 中處理二進位檔案下載的一系列方法。
簡單下載方法
對於基本檔案下載,您可以簡單地使用瀏覽器支援的檔案路徑:
$scope.downloadFile = function(downloadPath) { window.open(downloadPath, '_blank', ''); }
Ajax 二進位下載方法
要透過Ajax執行二進位檔案下載,您可以在 Chrome、Internet Explorer、Firefox 和 Safari 等瀏覽器中使用此腳本。請注意,navigator.msSaveBlob 僅在 Internet Explorer 11 中單獨工作。
$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) ... } }
用法:
var downloadPath = "/files/sample.pdf"; $scope.downloadFile(downloadPath);
必要的Web API 回應標頭
為了確保正確的文件下載,您的Web API方法應傳回下列標頭:
結論
本文提供了幾種在幾種AngularJS 應用程式中管理從Web API 服務下載檔案的方法。根據特定的瀏覽器功能和項目的要求,選擇最適合您需求的方法。
以上是如何使用 AngularJS 從 ASP.NET Web API 下載檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!