我正在使用以下代码下载文件。 我可以动态创建文件夹,并将文件下载到每个requiredKeyWords类别
的每个文件夹中$.each(requiredCities,function(keya,valb){
$.each(requiredKeyWords,function(keyc,vald){
var timerId = setInterval(function(){
download(...);
clearInterval(timerId);
}, 4000*(i++));
});
});
});
function download(url){
...
}
谢谢
答案 0 :(得分:3)
没有。 JavaScript在浏览器中被沙箱化,无法访问用户的计算机。
真的,这是最好的:想象一下,每个Joe和Jill都可以自动创建,移动,阅读和改变计算机上的内容。这将是一个巨大的安全隐患。
答案 1 :(得分:2)
您可以使用jQuery(例如ajax()
或post()
方法)执行请求,并获取包含文件内容和所需标头的HttpResponse
。显然,您需要服务器端技术(ASP.NET,Java,PHP等)来接收HttpRequest
并返回HttpResponse
。
然后,您的浏览器将拦截此响应作为下载。
此外,您可以简单地将URL重定向到文件,而无需手动发布,就像这个thred:Download File Using jQuery上指出的那样。在这种情况下,浏览器将为您执行请求,阅读响应并解释为下载。
但是你不能指定用户选择保存文件的位置(也不是名称)。此外,用户始终可以取消任何下载。最后,浏览器的安全性可以配置为拒绝下载。
最后要记住,浏览器每次都会显示一个下载窗口。然后,您无法同时启动10次下载。你使用Gmail吗?正如您所看到的,当用户想要同时下载所有附件时,Gmail会创建一个包含所有文件的ZIP并发送该ZIP的下载。这是更好的自动化方式,但也不是你想要的。
答案 2 :(得分:1)
幸运的是,没有。在Web浏览器中运行时,javascript无法访问文件系统。那将是一个巨大的安全漏洞。您可以这样做的唯一方法是使用ActiveX控件或Java小程序。两种选择都是邪恶的。
答案 3 :(得分:0)
在IE中使用ActiveX是可能的,但在其他浏览器中则不行。
http://www.codeproject.com/KB/scripting/JavaScript__File_Handling.aspx
“之前有几点需要注意 实现FileSystemObject。以来 它不是一个ActiveX对象 创建如果安全级别 客户端机器很高。所以网站 必须添加到受信任的站点 列表,以便ActiveX对象可以 创建
用户必须具有写访问权限 创建文件时指定的路径。 在存在不确定性的情况下 最好把文件写到 系统的临时文件夹。该 可以找到Temp文件夹的路径 使用“