问题标签 [html5-filesystem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
751 浏览

html - HTML5 Filesystem API 可以帮助我在没有服务器的情况下在自己的硬盘上编辑 .html 文件吗?

我对 HTML5 Filesystem API 的意义感到困惑。

据我所知,引用使用 File API 创建的沙盒文件之一的内容的方式需要引用域名。

“使用 HTML5 文件系统 API”在“安全注意事项”下有这样的说法:

私有数据的泄漏或擦除——通过将 HTML5 文件系统的范围限制为类似于 chroot 的、特定于源的沙箱来缓解这种情况。应用程序无法访问另一个域/源的文件系统。

但究竟什么是“起源”?据我所知,那本书没有定义它们。在我看来,一个来源必须包含一个域名,即使该域是localhost.

是这样吗?如果是的话,那就糟了。这意味着我们再次无法构建可以编辑本地文件的编辑器。当然,有安全方面的考虑,但这不就是让编辑本地文件成为可能的计划的一部分吗?HTML5 API 是专门针对 Internet 上的内容还是针对知道如何设置本地服务器的人?

0 投票
5 回答
1230 浏览

javascript - 如何检测浏览器是否支持此 HTML5 功能

我想检测(使用 javascript/jQuery)用户的浏览器是否支持multiple属性input type='file'标记。HTML5 添加多个图像的功能。

请建议我该怎么做。

0 投票
2 回答
3516 浏览

html - 尝试在谷歌浏览器中使用 HTML5 文件 api 时出现 FileError

我试图使用 chrome 中的文件系统 API 创建一个文件。最初我尝试如下持久存储

它最初工作正常。但是现在当我尝试相同的代码时给了我以下错误

然后我尝试了 TEMPORARY 文件存储如下

这给了我一些带有代码 2 的 FileError,这意味着安全错误。谁能帮我解决这些问题?

0 投票
3 回答
4869 浏览

html - 可以从 webkitStorageInfo.queryUsageAndQuota() 获得哪些详细信息

webkitStorageInfo.queryUsageAndQuota() 用于查找已使用 HTML5 文件系统 API 存储在文件系统中的文件的使用情况统计信息。谁能给我在提供给此函数的回调中可以获得的详细信息。

0 投票
1 回答
1035 浏览

html - 同步文件系统api可以在chrome扩展中使用吗

我正在谷歌扩展中创建页面操作弹出窗口。当弹出窗口关闭时,我需要将内容写回文件。为此,我附上了该window.unload活动。在卸载处理程序中,我试图写入文件。但是由于我使用的是异步api,因此在为getFile函数设置successHandler之后,页面立即关闭并且successHandler没有被执行。我可以在这里使用同步文件api吗?我读到同步 api 只能与 webworkers 一起使用。可以在扩展中使用吗?或者有没有其他方法可以处理这种情况。我将我的代码粘贴到此处的文件中

修改最初发布的问题

我将上面的代码移到了内容脚本中。现在,当页面操作关闭时,我正在尝试与内容脚本进行通信。为此,我将一个函数附加到window.onunload. 我在调试器模式下打开了页面操作弹出窗口并执行了location.reload(true). 然后我的window.unload监听器被调用,我的程序控制到达内容脚本并且代码正在运行。但是当我实际部署扩展时,当用户单击弹出窗口以外的某个位置时,弹出窗口将关闭。在这种情况下不会调用卸载处理程序。Google 没有提供任何事件来检测弹出窗口何时关闭。提供的唯一事件是单击事件,如果页面操作有弹出窗口,则不会触发该事件。我可以做些什么来检测弹出窗口何时关闭?

0 投票
2 回答
5654 浏览

javascript - 文件系统 API - 从本地驱动器上传到本地文件系统

我已经阅读了很多关于文件系统 API 和 HTML5 的内容,但是我找不到一个可行的解决方案,所以我问你们:

我想要一个文件上传表单,拖放或常规输入框无关紧要,但是我想选择一个文件,上传后应该将文件或整个文件夹“上传”到位于客户端的文件系统计算机。上传在括号中,因为我实际上想将文件/文件夹复制到客户端本地文件系统。

甚至可能吗?因为我想制作一个应用程序,用户可以将他的文件(例如音乐或大型视频和电影)上传到他的本地文件系统并在我的应用程序中编辑/观看等。我知道我必须上传那些大文件,我必须将它们切成小块并将它们堆叠起来,但我只想从小事开始:)

提前致谢

0 投票
1 回答
2881 浏览

javascript - HTML5 文件上传块/切片导致 CPU 使用率高

所以,我正在使用 HTML5 为大文件实现文件上传器。我正在使用新的切片/块将文件切成更小的块,目的是暂停/恢复以供以后实施。但是,每次我尝试上传(它有效)但它需要大量的内存和 CPU 使用(它可能会上升到 100% 的 cpu 使用)。我尝试不同大小的块文件,但没有帮助。

有谁知道出了什么问题?以及如何解决?该应用程序据称能够支持高达 4GB/文件,当然还有多个文件因此可能会达到 20GB 等。

注意:请不要在解决方案中包含 java 或 flash。因为我已经有了java版本。我只是想用 HTML5 重写它。下面是代码

0 投票
1 回答
501 浏览

html - 如何从 dart 请求持久存储配额?

我正在从 dart 创建像这样的持久性 html5 文件系统存储:

文件系统上的任何操作都会失败,并出现错误 QUOTA_EXCEEDED_ERR。但是,它适用于 TEMPORARY。

线程中的回复表明,对于持久存储,我应该使用此 JavaScript API 手动请求配额

我在 dart 中找不到 window.webkitStorageInfo (检查了最新版本)。任何指针?

谢谢!

编辑:澄清一下,window.webkitRequestFileSystem成功返回。但是,文件系统上的任何写入操作都会引发 Quota Exceeded 错误

0 投票
1 回答
862 浏览

html - 如何使用 filewritersync 追加文件?

我需要使用 HTML5 附加文件FileWriterSync,来自服务器的多个数据块。我试图追加,但它只是写一个文件块。让我们检查一下我的代码。

fs之前已经初始化,creator附加文件的更改,我需要附加文件。

我的问题是如何调用寻求从 EOF 开始写作。

0 投票
1 回答
1175 浏览

javascript - 图像文件因 websocket 文件传输而损坏

我正在使用 websockets 进行文件传输,在下载文件时,我正在接收数据,但是当我打开图像文件时,它已损坏。数据文件下载正常,代码如下。