我在使用angularjs
並且想提供一個下載按鈕。如何在angularjs中請求文件以下載aync?
問題:在從後端返回文件之前,該按鈕會在後端觸發長時間運行(15秒)的進程。用戶不應該在同一時間被阻止。
所以我想我可以在點擊時使用angularjs在後臺獲取文件,並在收到異步時提供下載。
<a ng-href="{{service.pdf()}}" target="_blank">download</a>
function pdf() {
return "http://path.to.the.service/filename.pdf";
}
這樣我就直接打開另一頁。哪些工作,但我想在後臺獲取它,而不是打開一個新的窗口。
這可能嗎?
這不適用於FF或IE。您將能夠下載1個文件,但不能下載多個文件。 – brewsky
是的,你說得對。如果你想在IE上下載文件,你可以使用msSaveOrOpenBlob:https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx。對於FF,您必須使用'display:none'CSS規則將錨點添加到您的DOM中,調用點擊操作並在之後移除。它也適用於多個文件,如果您調用此函數兩次或更多次。 – Alexance
'_self'很棒,但我想將它作爲下載提供。目前該文件在瀏覽器中內聯打開。 – membersound