相关疑难解决方法(0)

使用 emscripten 如何获取 C++ uint8_t 数组到 JS Blob 或 UInt8Array

在 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 的代码下载它。

c++ arraybuffer emscripten

2
推荐指数
1
解决办法
4427
查看次数

标签 统计

arraybuffer ×1

c++ ×1

emscripten ×1