刚刚出现错误:
Argument of type 'Blob' is not assignable to parameter of type 'string | Blob'.
Type 'import("buffer").Blob' is not assignable to type 'Blob'.
The types returned by 'stream()' are incompatible between these types.
Type '{}' is missing the following properties from type 'ReadableStream<any>': locked, cancel, getReader, pipeThrough, and 2 more.
不明白发生了什么。试图重新启动vscode,但没有帮助。Blob
不能赋值给Blob
类型的参数。? !所以流返回的Blob
与通常的Blob
不一样?
这是我的代码
const audioBuffer = fs.readFileSync(`./uploads/audio/${filePath}`)
const audioBlob = new Blob([audioBuffer])
const formData = new FormData()
formData.append('file', audioBlob)
当我试图将文件附加到formdata
时显示错误您正在使用两种不同的类型Blob
您要导入的文件来自node:
import { Blob } from 'buffer' // this is from node
虽然您正在调用的api (FormData
)来自DOM,并期望在DOM类型中定义的Blob
类型。这两种Blob
类型不相同
解决方法是为Blob
删除import
。这应该使用DOM类型中定义的全局Blob
类型(前提是您已经明确地从项目中排除了DOM类型)