概要
Web サービスからのファイル ダウンロードの AngularJS アプリケーションへの統合ブラウザの制限により問題が発生する可能性があります。この記事では、AngularJS でバイナリ ファイルのダウンロードを処理するためのさまざまな方法について説明します。
簡単なダウンロード方法
基本的なファイルのダウンロードの場合、次のコマンドを使用して GET リクエストをトリガーするだけです。ブラウザでサポートされているファイル パス:
$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 中国語 Web サイトの他の関連記事を参照してください。