javascript - 得到(node.js 库)无法在 FormData 中上传双工流
问题描述
我试图使用 got 从远程 URL 获取文件并将其上传到不同的 url,而无需先将其保存到磁盘。那不起作用,我得到了一个不起眼的RequestError
. 我做了一些探索,发现如果我使用通过简单转换流的读取流,我会得到同样的错误。有人可以给我一个指示出了什么问题吗?是我做错了什么还是图书馆不支持这个?如果是后者,是不是理论上可以实现?我尝试在 axios 中做同样的事情,它似乎正在工作
// working:
const readStream = fs.createReadStream("file.txt");
const form = new FormData();
form.append("file", readStream);
got.post("https://destination.url", {
body: form
});
// not working:
const remoteFileStream = got.stream("https://remote-file.url")
const form = new FormData();
form.append("file", remoteFileStream);
got.post("https://destination.url", {
body: form
});
// not working:
const readStream = fs.createReadStream("file.txt");
const transformStream = new Transform({
transform(chunk, encoding, callback) {
callback(null, chunk);
},
});
const form = new FormData();
form.append("file", readStream.pipe(transformStream));
got.post("https://destination.url", {
body: form
});
解决方案
推荐阅读
- docker - jupyterhub 中预构建的 jupyterlab 扩展
- qt - 将 qml 中的值动态绑定到转发器创建的对象
- async-await - 使用flutter http包获取天气信息
- python - Python 3:合并两个 xml 时 print() 不处理 '\n'
- akka - 在 sbt shell 中运行测试命令时 Akka 版本冲突
- python - 从 .dxf 文件中获取图层并将该图层复制到新文件
- gdb - gdb - 观察全局变量
- sql - 使用 SUBSTRING 的 PostgreSql 查询
- mongodb - 如何在mongodb中构建查询
- android - Android WebView 在呈现最新更新到 v90.0.4430.82 的内容时崩溃