我可以使用 Webassembly 从磁盘读取文件吗? (重新评估)

Can I read files from the disk by using Webassembly? (re-evaluated)

浏览器中的 webassembly 运行 目前在访问本地文件系统方面有什么可能?有一个较旧的问题说由于安全限制这是不可能的。但是有些地方(例如 https://fjolt.com/article/javascript-new-file-system-api)说在某些浏览器中有一个新的文件系统 API 可以使用。

a) 需要做什么才能使用 api? b) 我可以通过 webassembly 从 rust 中使用它吗?如何使用?

感谢您提供任何有用的指示。 托比亚斯

当前的 Web API (https://developer.mozilla.org/en-US/docs/Web/API) 仅允许您通过提示用户打开或保存文件来访问本地文件系统中的文件。 这些 API(还)不能直接从 webassembly 访问。所以你要做的是

  1. 使用javascript提示用户打开文件(或目录)
  2. 获取文件的内容并将其传递给您的 webassembly 代码
  3. 使用 webassembly 处理内容(或者在你的情况下将 rust 编译为 webassembly)
  4. 将处理后的内容回传给javascript可以提示用户保存文件

或上述主题的一些变体。 在此处阅读有关 webassmbly 用法的更多信息 https://developer.mozilla.org/en-US/docs/WebAssembly/Using_the_JavaScript_API

以及 Rust 和 webassembly,例如这里

https://developer.mozilla.org/en-US/docs/WebAssembly/Rust_to_wasm