2016-11-19 105 views
0

我有一個php文件,它使用POST參數生成要下載的文件。我已經有一切工作來恢復文件下載(使用範圍標題和一切相關)。當請求包含POST數據時如何恢復下載?

但是,如果我暫停下載並嘗試恢復它,則瀏覽器不會在請求中發送POST數據。這很好地使用GET數據,但我想繼續使用POST。我怎麼能做這個工作?

注:在飛行中產生

  • 該文件並將其發送到瀏覽器(簡單地通過PHP print'ed)使用正確的報頭。
  • 我無法將文件保存在某個地方並提供服務。它必須在飛行中。
+0

下載文件只不過是一個http請求,因爲發佈和獲取依賴於用戶輸入,所以只有其他選項可用。會話。但所有這些都取決於瀏覽器的實現,並且有幾十個需要考慮。 – Xorifelse

+0

@Xorifelse請您詳細闡述一下您對會議的看法? – Lynesth

回答

0

*抱歉我的英語不好。

好吧,可以說你有數據庫來保存POST PARAMS。
然後你需要基於參數創建獨特的下載url。
可以說下載鏈接是dowload.php < - 您在此處發送POST。

現在您需要將參數保存在那裏,並且讓我們說您得到unique_id
後,你的頁面重定向到新的頁面(與UNIQUE_ID PARAM)處理該下載,例如resume_download.php

例如下載URL將被resume_download.php?req=[your_unique_id] 或者您可以使用.htaccess來取得的URL更加友好

這不能保證下載將繼續,但至少用戶不需要重新輸入表單。

+0

我可以簡單地從GET開始發送我的參數(這與您提出的建議並沒有太大區別,並將其保存在數據庫中)。我想沒有使用GET就無法做到這一點。 – Lynesth

+0

雖然如此,但如果你的表單有大量的輸入,那麼得到的參數將不足以適應。 – Atmahadli

相關問題