[英]Auto start file download after form submission
我有一個用戶在線完成的Web表單。 當他們按提交時,它將為他們開始文件下載。
目前,我處理表單提交並為用戶生成合適的文件,並使用合適的標題將其關閉。 例如...
header('Content-type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="yourfile.txt"');
header("Content-Transfer-Encoding: binary");
但是,由於這會立即開始下載,因此瀏覽器會將原始表單保留在屏幕上。
下載完成后(或下載開始之前)我真的想去一些“謝謝”屏幕。 我知道這是可能的,因為您訪問的幾乎每個下載站點都會這樣做(通常在下載開始之前為您提供完整的廣告)。
那么,如何顯示一個“謝謝”屏幕,在一秒鍾后開始下載?
如何提出任何解決方案會影響后退按鈕的行為,因為我不希望在沒有重新填充表單的情況下再次下載文件?
我在服務器上使用PHP,並且可以依賴客戶端上可用的Javascript(和jQuery)。
謝謝。
您可以將表單發送到Thank you文檔並在文件下載中添加META刷新 :
<meta http-equiv="refresh" content="3;url=download.php">
<p>Thank you! The download will start in 3 seconds. If not, use this link to download the <a href="download.php">file</a></p>
添加第二頁,上面寫着“謝謝你,你的donwnload將在幾秒鍾內啟動”並使用javascript觸發下載:
$(document).ready(function(){
window.setTimeout(function(){
window.location = 'http://yourdownloadhost.com/file.zip';
}, 1500);
});
或使用元重定向。
您可以在頁面中插入隱藏的iframe,然后將表單提交到此iframe。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.