在 emscripten C++ 中,我有
class MyClass {
public:
MyClass() {}
std::shared_ptr<std::vector<uint8_t>> buffer;
int getPtr() {
return (int)(buffer->data());
}
int getLength() {
return buffer->size();
}
};
EMSCRIPTEN_BINDINGS() {
class_<MyClass>("MyClass").constructor()
.function("getLength",&MyClass::getLength)
.function("getPtr",&MyClass::getPtr,
allow_raw_pointers());
}
Run Code Online (Sandbox Code Playgroud)
我可以从 JS 调用 getLength() 和 getPtr() 但我不知道如何让 JS 将其视为 ArrayBuffer 以作为 Blob 下载。
如何将缓冲区数据以某种形式导入 JS,然后我可以使用类似于https://github.com/kennethjiang/js-file-download/blob/master/file-download.js 的代码下载它。