gpt4 book ai didi

javascript - 在 Rust WebAssembly 中将文件从 Javascript 传递到 u8

转载 作者:行者123 更新时间:2023-11-29 08:08:24 25 4
gpt4 key购买 nike

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

最佳答案

如果您使用 arg 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 否则如何验证它。

关于javascript - 在 Rust WebAssembly 中将文件从 Javascript 传递到 u8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56685410/

25 4 0