WXWebAssembly.instantiate方法的第一个参数,如何通过远程下载本地实例化?
根据报错提示,第一个参数需要传入一个绝对路径的.wasm文件,如pages/index/hello.wasm
如果需要将远程的wasm下载到本地再实例化应该如何实现呢,报错明确提示了,不能以wxfile://或http的文件路径开头,所有还有其他读取存储后文件绝对路径的且获取出来不为wxfile:前缀的绝对路径,api可以调用吗?
wasm资源文件超出了2m,希望可以走远程下载到本地再实例化
const info = {};
const cloudWasm = 'https://cdn.com/hello.wasm'
wx.downloadFile({
url:cloudWasm,
success:res=>{
const {tempFilePath} = res;
// 如何将tempFilePath转成绝对路径呢?
const fs = wx.getFileSystemManager();
const { env:{ USER_DATA_PATH } } = wx; // 当前用户设备的环境目录
const wasmfilename = tempFilePath.slice(tempFilePath.lastIndexOf('/') + 1);// 提取文件名和后缀
fs.saveFileSync(tempFilePath, wasmdir + wasmfilename);
const wasmdir = USER_DATA_PATH + "/wasm/"; // 在当前用户环境下新建一个目录
const obsoluteWasmFilePath = `${tempFilePath}/${wasmfilename}`;
WXWebAssembly.instantiate(obsoluteWasmFilePath,info).then(suc=>{
console.log('初始化成功')
},err=>{
console.log('初始化失败')
})
}
} )