我注意到在詢問如何 「Detect when browser receives file download」之前有一個問題。僅從客戶端檢測下載開始/文件傳輸的開始
這需要服務器發送cookie以完成步驟。 但是,我想檢測瀏覽器是否僅在客戶端接收文件,因爲我無法修改服務器端的任何內容。
我遇到的問題是我必須從網站下載許多zip文件。 zip文件是動態生成的,因此在我提交請求之前沒有可下載的URL。首先,我寫一個for循環來做到這一點,如下所示。
function myfunc(i){
setTimeout(function(){
$("form").submit();
},2000*(i)
}
for (i=1; i<4; i++) {
myfunc(i);
} //i
但是有一個機會,瀏覽器接收的第一個文件(i=1)
之前,瀏覽器將已經提交申請第二個文件(i=2)
形式並取消第一個文件的請求。所以我必須在請求第二個文件之前確保第一個文件已經啓動。
ajax
似乎不是一個選項,因爲它似乎是無法處理壓縮文件下載。
我該怎麼做?
可能重複[如何異步上傳文件?](http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously) – Populus
也許你可以下載文件到用戶的localStorage ,你可以控制它。我以前沒有這樣做過,但[this](http://stackoverflow.com/questions/4940586/can-you-use-html5-local-storage-to-store-a-file-if-not-how )可能會給你一些方向。 –
@Populus - 表明重複是上傳,而不是下載。這不會解決這個問題。 – Mogsdad