Tyb*_*itz 2 javascript filesystems file-io html5-filesystem
我正在测试一些新的 JS 文件系统功能,即在本地文件系统中创建一个空文本文件。我正在从本地路径 (file:///) 运行 HTML 和 JS 文件。为此,我使用--allow-file-access-from-filesCLI 的标志启动了 Google Chrome。文件系统请求是持久的(并且有效)。
我阅读了有关文件系统的不同帖子,复制并修改了教程中的一些代码;当我启动 HTML 文件时,我的自定义成功/失败消息将输出在控制台中;
这是结果:
Opened file system:/ // this is the root path of the JS Filesystem.
/wtf.txt // this is the name and path of the text file I created+ it's a success
Run Code Online (Sandbox Code Playgroud)
但是,当我查看目录(系统和应用程序根目录)时,没有具有我分配给它的名称的 .txt 文件。我怎么知道 Javascript 到底在哪里写了这个文件?在什么“根”中(因为“根”不能被分配)?文件系统是“沙箱”是什么意思?我无法访问本地驱动器上的(虚拟?)内容,而只能使用 JS?如果是这种情况,有没有办法提示用户保存文件?
预先感谢您的回答
您似乎期望文件系统 API 在本地工作,类似于操作系统文件系统。客户端不是这样工作的。事实上,API 被设计为作为程序员的文件和目录接口——客户端本身(例如 Chrome 等)将在本地级别处理其余部分。API 的设计目的不是让您可以通过浏览器创建文件并通过操作系统轻松访问它。
我怎么知道 Javascript 到底在哪里写了这个文件?在什么“根”中(因为“根”不能被分配)?
从技术上讲,每个客户端都可以根据自己的选择进行本地存储。因此,虽然您可以转到本地文件系统来查找该文件,但如果您尝试这样做,您的方法就会出现问题;文件系统 API 并不是为此而设计的。对于你的问题,你可以假设如果客户端的存储区域有内容(例如,对于 Chrome 来说,它类似于“C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\File System\”),然后你可以假设它是 JavaScript 编写的。但同样,它并不是为本地系统上的用户友好浏览而设置的。
文件系统是“沙箱”是什么意思?
沙箱只是指为特定目的而创建和留出的区域,在该区域之外客户端无法查看/访问。请参阅 Mozilla 的内容:https ://developer.mozilla.org/en-US/docs/WebGuide/API/File_System/Introduction#virtual
我无法访问本地驱动器上的(虚拟?)内容,而只能使用 JS?
这是正确的,而且是有意设计的。
如果是这种情况,有没有办法提示用户保存文件?
如果我正确理解您的问题,您是在询问是否有一种方法可以向用户提供特定文件并提示他们将其保存在本地。好吧,当然,如果您提供文件的链接(或推送它,这是不同的讨论),那么客户端将提示用户保存/存储它(如果他们的平台允许他们这样做)。但您无法控制他们在本地保存它的位置,也无法稍后获取它。如果我误解了您的问题,请在下面发表评论,我会跟进。
| 归档时间: |
|
| 查看次数: |
3146 次 |
| 最近记录: |