ng-click
を使用してファイルをクリックすると、ファイルをダウンロードすることはできますか?ここに私は今いる:hrefリンクをクリックしてファイルをダウンロードしますか?
<a ng-href="../api/rest/admin/v1/syncsessions/export?fileKey={{syncObject.sourceFiles}}">Download file</a>
これはうまくいくようです。しかし、問題は、私がhref
をクリックすると、そのURLを持つページにリダイレクトされます。その結果、私はこのような何かをしたい:
<a ng-click="getExportFiles({{syncObject.sourceFiles}})">Download File</a>
:
結果に含まvar baseSyncUrl = "../api/rest/admin/{{path.version}}/syncsessions";
var exportSyncFileReq = {method: "GET", url: baseSyncUrl + "/export", params: {fileKey: ""}, path: {version: "v1"}};
$scope.getExportFiles = function(fileKey) {
var req = exportSyncFileReq;
req.params.fileKey = fileKey;
var data = RESTCaller.getConfig(req);
data.then(function(result) {
if(result) {
return result;
}
})
}
は、例えば、それはので、https://<insertURL>
になり、ファイルへのリンクありRESTCaller
APIを定義してexportSynceFileReq
を呼び出した後、promise
をアンラップします。問題は、私がng-click
を実行しても、何も起こらないということです。ファイルはダウンロードされません。私が行う場合
<a ng-href="{{getExportFiles(syncObject.sourceFiles)}}">Download File</a>
私は無限のダイジェストループを取得します。リンクをクリックしてAPIを呼び出し、別のページにリダイレクトせずにファイルを自動的にダウンロードできる方法はありますか?どんな助けもありがとう。ありがとう!
これはほとんど動作します! 'link.download = result'を実行すると、ファイルをダウンロードするエラーが出ますが、残念ながら「失敗しました - ファイルがありません」というメッセージが表示されます。 – user1871869
編集:実際に修正しました。ありがとう! – user1871869
これはChromeでは動作しますが、IEでは動作しません。エラーもありません。 IEでうまくいかない理由は何ですか? – BelgoCanadian