将文件从 Javascript 传递到 Rust WebAssembly 中的 u8



我想从 JavaScript 传递一个文件,并在 Rust WebAssembly 中以 u8 数组的形式访问它。我已经通过分配内存和传递指针在 Emscripten c++ 缓冲区中完成了此操作,但我无法在 RUST 和 wasm-bindgen 中理解它。

如果您公开带有参数的函数data: &[u8]

#[wasm_bindgen]
#[allow(non_snake_case)]
#[no_mangle]
pub fn processFile(fileData: &[u8])

你可以从 JavaScript 将字节数组传递给它

let fileData = new Uint8Array(23);
// populate data ...
mod.processFile(fileData)

也许只是我正在使用的版本

λ wasm-pack -V
wasm-pack 0.8.1

数组长度可能是一个问题,(我的代码有固定长度的数据(我会在函数中传递 len 并对其进行验证,因为我不确定 rustc 如何验证它。

相关内容

  • 没有找到相关文章

最新更新