2016-10-26 84 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