cyb*_*bat 11 multipartform-data node.js typescript
在 Node 18 发布fetch/FormData之前,我们可以这样做:
import FormData from 'form-data'
const form = new FormData();
form.append('my_field', 'my value');
form.append('my_buffer', new Buffer(10));
form.append('my_file', fs.createReadStream('/foo/bar.jpg'));
Run Code Online (Sandbox Code Playgroud)
但是,使用全局 FormData 我无法再传递流 - “my_file”行的错误是:
“ReadStream”类型的参数不可分配给“string |”类型的参数 斑点'
我知道这仍然是实验性的,因此可能是一个错误,或者是否有其他方法可以做到这一点 - 除了将整个文件作为字符串读取之外......
Node v18 的本机FormData是 w3 FormData 接口的实现,因此您需要使用该 API。
该append()方法接受 aBlob所以您应该能够使用blob流消费者
import { createReadStream } from 'node:fs';
import { blob } from 'node:stream/consumers';
// assuming a valid async context for brevity
const file = await blob(createReadStream("/foo/bar.jpg"));
const formData = new FormData();
formData.append("my_file", file, "bar.jpg");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5309 次 |
| 最近记录: |