首頁 > 後端開發 > C++ > 如何使用 AngularJS 從 ASP.NET Web API 下載檔案?

如何使用 AngularJS 從 ASP.NET Web API 下載檔案?

Linda Hamilton
發布: 2024-12-30 10:48:10
原創
461 人瀏覽過

How to Download Files from ASP.NET Web API using AngularJS?

使用AngularJS 從ASP.NET Web API 下載檔案

簡介

將來自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方法應傳回下列標頭:

  • x-filename: 包含檔案名稱的自訂標頭。
  • content-type: 指定檔案的Mime 標頭

結論

本文提供了幾種在幾種AngularJS 應用程式中管理從Web API 服務下載檔案的方法。根據特定的瀏覽器功能和項目的要求,選擇最適合您需求的方法。

以上是如何使用 AngularJS 從 ASP.NET Web API 下載檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板