2011-09-12 52 views
1

我在想,是否可以使用JavaScript和/或HTML5从/向某个用户目录读取/写入文件?例如。用户填写%USERPROFILE%\ Documents \ mydata.svg〜/ Documents/mydata.svg到文本框中,并写入文件。使用JS和/或HTML5从本地文件系统读取文件

或者我必须被迫使用Java applet来做到这一点吗?

旁注#1:如果该解决方案仅适用于Google Chrome,那很好;但任何webkit浏览器会更好。

旁注#2:位置并不重要,只要它每次都是相同的位置。在这种情况下,它可能是{sandboxed dir} \ mydata.svg,然后用户在他/她的数据存储位置没有获得选项。

回答

2

在无特权的内容:不,在任何情况下*。好的事情,或者你的电脑在互联网上10分钟后将变得毫无用处。

如果分机就足够了,检查出一些相关的答案在这里:Writing to local file system in Chrome extensionChrome extension: How to save a file on disk

最佳的做法是提供SVG文件作为一个下载,让用户决定是否以及在何处保存:http://www.benbarnett.net/2010/06/04/export-svg-from-raphael-js-to-create-a-png-bitmap/

(* - 在File API是草案,可能是广泛可得的未来,但目前仅适用于Chrome支持)

1

不,因为这会让您通过将恶意软件写入他的计算机来侵入用户的隐私。您可以生成SVG并提供给用户下载。

0

看看Google Chrome's FileSystem Api

我一直认为如果Web应用程序可以读写文件和目录,它会很方便。随着我们从离线转向在线,应用程序变得越来越复杂,缺乏文件系统API成为推动网络向前发展的障碍。存储二进制数据或与二进制数据交互不应局限于桌面。谢天谢地,它不再是归功于FileSystem API。借助FileSystem API,Web应用程序可以创建,读取,导航和写入用户本地文件系统的沙盒部分。

相关问题