Javascript 使用HTML5文件系统API将文件写入桌面
我在和你玩一玩 我发现了很多例子,其中你生成了一个下载链接,让用户以“浏览器方式”下载文件 我想知道两件事:Javascript 使用HTML5文件系统API将文件写入桌面,javascript,html,fileapi,Javascript,Html,Fileapi,我在和你玩一玩 我发现了很多例子,其中你生成了一个下载链接,让用户以“浏览器方式”下载文件 我想知道两件事: 有没有办法将fiddle中的ajax结果作为文件直接写入磁盘(无需任何类型的提示)。例如,像用户的桌面 blob是最合适的格式吗 不幸的是,目前无法写入常规文件(尽管答案已被接受) 您只能写入沙盒文件系统 仅供参考,您可以在Chrome打包的应用程序中执行此操作:但即使如此,用户至少必须首先选择文件。写入任何文件都将是一个严重的安全漏洞 您真正想解决的问题是什么?请注意,文件系统API
不幸的是,目前无法写入常规文件(尽管答案已被接受) 您只能写入沙盒文件系统 仅供参考,您可以在Chrome打包的应用程序中执行此操作:但即使如此,用户至少必须首先选择文件。写入任何文件都将是一个严重的安全漏洞
您真正想解决的问题是什么?请注意,文件系统API不再是标准规范的一部分,具体说明如下: 编辑: 在链路发生变化时引用规范: “文件API:目录和系统 W3C工作组说明2014年4月24日 关于本文件的工作已停止,不应引用或用作实施的依据。” (这与问题没有直接关系,但必须知道不要进一步使用文件系统API。) 另一个链接:
“2014年4月,在公共webapps上宣布,文件系统API规范应该被视为已过时。其他浏览器对实现它几乎没有兴趣。”“没有任何提示”。这将是一个严重的安全问题。您可以使用将命名文件保存到下载文件夹,而无需提示。如果您尝试下载一组文件,chrome将在每个会话中请求批准一次。@11684我认为您可以使用此API删除文件,而无需提示。我认为这是一个更大的安全问题context@dandavis谢谢,我会照顾你的that@Johan,不可以,因为使用此API,您只能删除网站放在那里的文件。如何?谢谢您,很抱歉您的评论太晚。我想让用户标记一堆文件>选择一个文件夹>按下载,让浏览器同时下载它们。但是我想把它们压缩到服务器端并按常规方式下载会更容易一些。我只是想详细说明一下,我不想写入现有文件,我想创建一个新文件。但我想这就是你所指的?约翰,你得闭嘴了。无论是新文件还是现有文件,都有相同的限制。@PaulDraper,这是一个老话题,但我要解决的问题是一个基于JavaScript的应用程序,它需要在客户端创建虚拟SQL数据。比如说,一个包含10000个虚拟名称的CSv文件。为了避免用户通过互联网下载一个大文件,我正在尝试通过javascript在客户端创建它。好的,我将添加详细信息,而不仅仅是链接。谢谢。和被弃用的完全一样。对于离线web应用程序,我认为和是剩下的选项。
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if (this.readyState == 4 && this.status == 200){
console.log(this.response, typeof this.response);
var img = document.getElementById('img');
var url = window.URL = window.webkitURL;
img.src = url.createObjectURL(this.response);
}
}
xhr.open('GET', 'http://www.newyorker.com/online/blogs/photobooth
/NASAEarth-01.jpg');
xhr.responseType = 'blob';
xhr.send();