使用jquery创建文件夹

时间:2011-05-07 18:26:42

标签: jquery download

我正在使用以下代码下载文件。 我可以动态创建文件夹,并将文件下载到每个requiredKeyWords类别

的每个文件夹中
$.each(requiredCities,function(keya,valb){
        $.each(requiredKeyWords,function(keyc,vald){
            var timerId = setInterval(function(){
            download(...);
            clearInterval(timerId);
            }, 4000*(i++));    
        });
    });
});

function download(url){
    ...
}

谢谢

4 个答案:

答案 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文件夹的路径   使用“