如何在javascript中将可读流转换为blob?
我有一个测试,应该读取一个图像文件,并将该图像文件提交给一个接受多部分formdata的api 我正在使用FetchAPI和formdata类来设置图像文件。formdata只接受一个blob。所以在我的测试中,我必须将我读取的文件类型stream转换为blob如何在javascript中将可读流转换为blob?,javascript,node.js,fetch,multipartform-data,Javascript,Node.js,Fetch,Multipartform Data,我有一个测试,应该读取一个图像文件,并将该图像文件提交给一个接受多部分formdata的api 我正在使用FetchAPI和formdata类来设置图像文件。formdata只接受一个blob。所以在我的测试中,我必须将我读取的文件类型stream转换为blob test("should submit front document", async () => { const side = "front"; const stream = fs.create
test("should submit front document", async () => {
const side = "front";
const stream = fs.createReadStream(process.cwd() + "/test/resources/" + "id/front.jpg");
const image = await streamToBlob(stream);
const front = await myLibrary.document(id, side, image);
expect(front.success).toBe(true);
});
我正在尝试使用这里的库将流转换为blob。然而,测试失败了。如果我尝试console.log(image)
我会得到以下Blob{}
为什么这个blob是空的{}
async document(id, side, image) {
const url = this.API_URL + "/document"
let formData = new FormData();
formData.set("image", image, "front.jpg");
formData.set("side", side);
let headers = new Headers();
headers.set("Authorization", "Bearer " + this.API_KEY);
const request = {
method: "POST",
body: formData,
headers: headers,
};
try {
const response = await fetch(url, request);
const data = await response.json();
return data;
} catch (err) {
throw err;
}
}