在像后端发送请求后,会根据传入的影像平台id向后端请求数据,返回二进制流数据
uni.request({
url: "xxx",
method:'post',
timeout: 10000,
data: {
"fileId":"xx"
},
responseType:"arraybuffer",
success: (successData) => {
}
})
在获得流数据后怎么处理才可以在android端进行播放?
我尝试过使用new Blob 可是在android Blob未定义
随后我尝试写入文件
const tempFileName = 'temp_video.mp4';
const tempFilePath = `_doc/${tempFileName}`; // _doc 为临时文件目录
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, (fs) => {
// 调用 fs.root.getFile 创建临时文件
fs.root.getFile(tempFilePath, {create: true}, (fileEntry) => {
fileEntry.file(file => {
fileEntry.createWriter(writer => {
console.log( fs.root.toURL(),'路径111')
plus.nativeUI.showWaiting("正在保存信息");
// writer.seek(seek); //覆盖文件
// const writeDataTemp = JSON.stringify(writeData, null,
// "\r").replace(/[\r]/g, "");
console.log(base64);
writer.write(base64); // 整个文件重写
writer.onerror = () => {
console.log("4写入文件失败", writer.error.message);
plus.nativeUI.closeWaiting();
plus.nativeUI.toast("修改信息失败,请重新操作", {
background: "rgba(255, 255, 255, 0.6)",
});
return;
};
writer.onsuccess = (e) => { //填写文件成功
plus.nativeUI.closeWaiting();
plus.nativeUI.toast("保存成功", {
// background: "rgba(255, 255, 255, 0.6)",
});
console.log(e.target.fileName);
};
},
error => {
console.log("3创建creactWriter失败", error);
plus.nativeUI.toast("保存文件失败,请重新操作", {
// background: "#ffa38c",
});
return;
});
});
}, (error) => {
console.log('创建临时文件失败:', error.message);
});
}, (error) => {
console.log('请求文件系统失败:', error.message);
});
可是这种方法只能写入String类型的数据 ,还有什么办法?求解答
new blob不能使用 显示未定义