Javascript 强制从外部url下载文件未在新选项卡/窗口中打开
我试图下载一个带有JavaScript的文件,而不是让它在新的选项卡或窗口中打开 到目前为止,我得到的是:Javascript 强制从外部url下载文件未在新选项卡/窗口中打开,javascript,jquery,download,Javascript,Jquery,Download,我试图下载一个带有JavaScript的文件,而不是让它在新的选项卡或窗口中打开 到目前为止,我得到的是: var link = document.createElement("a"); link.download = filename; link.href = fileurl; link.click(); 我对此做了大量的研究,但找不到任何有效的方法,因为该文件来自一个谷歌签名的URL,我无法控制该URL,也无法修改其标题 这必须发生在客户端JavaScript/jQue
var link = document.createElement("a");
link.download = filename;
link.href = fileurl;
link.click();
我对此做了大量的研究,但找不到任何有效的方法,因为该文件来自一个谷歌签名的URL,我无法控制该URL,也无法修改其标题
这必须发生在客户端JavaScript/jQuery中
编辑
它实际上是动态的,所以可以有X个文件,如果我能把它们全部作为zip下载,那就更好了
for(var i=0; i<filenames.length; i++){
var formData = new FormData();
formData.append('filename', filenames[i]);
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(this.readyState == 4 && this.status == 200){
fileurl = this.responseText;
var link = document.createElement("a");
link.download = filenames[i];
link.href = fileurl;
link.click();
}
}
xmlhttp.open("POST", "url_to_get_download_urls");
xmlhttp.send(formData);
}
for(var i=0;i您是否尝试在不同浏览器中执行下载操作?在最新版本的Chrome中,您无法下载跨源文件(它们必须托管在同一个域中)
如果文件没有更改,您是否尝试过自己托管文件并启动下载
编辑:如果您试图将项目捆绑到zip中进行下载,则需要在您自己的服务器上进行初始下载并在那里进行压缩。您是否尝试在不同的浏览器中进行下载操作?在最新版本的Chrome中,您无法下载跨源文件(它们必须托管在同一域上)
如果文件没有更改,您是否尝试过自己托管文件并启动下载
编辑:如果您试图将项目捆绑到zip中进行下载,则需要在您自己的服务器上进行初始下载并在那里进行压缩。CORS策略允许使用Google签名的URL,因此我认为我应该能够下载它们。这些文件可能非常大,因此为了可扩展性,无法将它们保存到我的服务器上d从那里下载它必须是客户端。@Paddyhalihan这里还有一些项目需要尝试。谷歌签名URL上的CORS策略允许我的域,所以我认为我应该能够下载它们。这些文件可能非常大,因此为了可扩展性,无法将它们保存到我的服务器上,从那里下载它必须是客户端。@PaddyHa利汉:这里还有一些东西可以尝试