wav文件不能上传给后端,'Blob is not supported. Use a Buffer instead.'
这个错误提示意味着您正在尝试将Blob对象传递给后端,而该后端不支持Blob对象。这可能是因为后端期望接收Buffer或其他类型的数据,而不是Blob对象。
解决此问题的一种方法是将Blob对象转换为Buffer对象,然后将其传递给后端。您可以使用FileReader API来读取Blob对象并创建一个新的Buffer对象,然后将其传递给后端。以下是一个示例代码:
// 读取Blob对象
const file = new Blob([blobData], { type: 'audio/wav' });
const reader = new FileReader();
reader.readAsArrayBuffer(file);
// 将Blob对象转换为Buffer对象,并将其传递给后端
reader.onloadend = function () {
const buffer = Buffer.from(reader.result);
// 将buffer传递给后端进行处理
};
请注意,在上面的代码中,我们首先使用FileReader API读取了Blob对象,并将其存储在数组缓冲区中。然后,我们使用Buffer.from方法将该数组缓冲区转换为一个新的Buffer对象,并将其传递给后端进行处理。