2016-10-26 124 views
0

我創建了一個有文件鏈接的下載頁面,我希望文件在10秒後自動下載,但我不確定如何操作。該文件的鏈接存儲在cookie中,並可在下載頁面上訪問並存儲在$ file變量中。10秒後下載文件

該文件的鏈接將與此類似:

https://cloud1.taccess.co.uk/cloud/uploads/eed376ad76d1f74b597aa2e21121f7e6tantami_cloud_file_580a40c1eff3af7484ef592c10bff10047b373cdc5dfd.pptx?AWSAccessKeyId=AKIAJ56YO6753B2RUT2Q&Expires=1477473886&Signature=mF6Zy1Mqo3HM5g%2B4cSePaXF9vM8%3D

這所指向的文件,包括所需的權限對於要下載的文件。因此,簡而言之,我正在尋找一種方法,在10秒後打開此鏈接,以便可以下載文件。

感謝

+0

使用JavaScript這一點。 PHP並不理想。 – apokryfos

+0

好吧,我會研究它 –

回答

2

您的代碼PHP的,所以我想你想添加一些迪利下載,我認爲這

將幫助您

 $filename = "your filename"; 
    header("content-type:application/any specific header"); // set the header 
    // your content 

sleep(10) // will add delay for 10 sec 

header("Content-Disposition: attachment; filename=$file_name"); // will download your file 

在JavaScript中,你可以做這樣的

使用heroku api帶來的頁面

<div id="hidden" style="display:none"></div> 

    <script type="text/javascript"> 
$(document).ready(function(){ 
    // var text = 'your url'; 
     $.ajaxPrefilter(function (options) { 
     if (options.crossDomain && jQuery.support.cors) { 
      var http = (window.location.protocol === 'http:' ? 'http:' : 'https:'); 
      options.url = http + '//cors-anywhere.herokuapp.com/' + options.url; 
      //options.url = "http://cors.corsproxy.io/url=" + options.url; 
     } 
     }); 

     $.get(
      'https://login.yahoo.com/', // like yahoo 
      function (response) { 

      var res = response; 
      $('#hidden').append(res); 


     }); 

    }); 

您的頁面放置隱藏的div裏面後,那麼你可以做這樣的事情

setTimeout(function(){ 
    $('#hidden').show();// or fade, css display however you'd like. 
}, 1000); 
}); 
+0

我有點懷疑OP有興趣僅僅使HTTP請求返回10秒慢...... – deceze

+0

@deceze,正如你所說的是正確的,但沒有JavaScript或jQuery標籤 – EaBangalore

+2

因爲OP沒有'不知道他們想要什麼。如果他們知道他們不會問... – deceze