【发布时间】:2021-07-31 11:31:54
【问题描述】:
我需要使用web_sys::Blob::array_buffer,它返回解析为ArrayBuffer 的Promise。 Promise 当前仅在 Rust 中解析为 JsValue。如何将其转换为 Vec<u8>?
【问题讨论】:
标签: rust arraybuffer typed-arrays wasm-bindgen typedarray
我需要使用web_sys::Blob::array_buffer,它返回解析为ArrayBuffer 的Promise。 Promise 当前仅在 Rust 中解析为 JsValue。如何将其转换为 Vec<u8>?
【问题讨论】:
标签: rust arraybuffer typed-arrays wasm-bindgen typedarray
首先,您必须将其转换为 Uint8Array 和 Uint8Array::new,它采用 &JsValue。
那么你可以使用:
Uint8Array::to_vec 获取Vec<u8>Uint8Array::copy_to 填充相同大小的现有 &mut [u8]
let buffer: JsValue = /* ... */;
let array = Uint8Array::new(&buffer);
let bytes: Vec<u8> = array.to_vec();
【讨论】: