【问题标题】:Pass file from Javascript to u8 in Rust WebAssembly在 Rust WebAssembly 中将文件从 Javascript 传递到 u8
【发布时间】:2019-11-03 05:46:39
【问题描述】:

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

【问题讨论】:

标签: javascript rust webassembly


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多