gpt4 book ai didi

forms - Nodejs POST 请求多部分/表单数据

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:20 25 4
gpt4 key购买 nike

我正在尝试通过 POST 请求上传照片 request module

根据自述文件,我应该能够做到这一点

var r = request.post("http://posttestserver.com/post.php", requestCallback)
var form = r.form()
form.append("folder_id", "0");
form.append("filename", fs.createReadStream(path.join(__dirname, "image.png")));

function requestCallback(err, res, body) {
console.log(body);
}

问题是,这行不通。我收到测试服务器的回复,说它转储了 0 个帖子变量。

我已经通过这个小 html 页面确认服务器处于工作状态

<html>
<body>
<form action="http://posttestserver.com/post.php?dir=example" method="post" enctype="multipart/form-data">
File: <input type="file" name="submitted">
<input type="hidden" name="someParam" value="someValue"/>
<input type="submit" value="send">
</form>
</body>
</html>

所以问题是,我的请求模块做错了什么?有没有更好的方法使用 Node 发送multipart/form-data

最佳答案

经过更多研究,我决定使用 restler module 。它使分段上传变得非常容易。

fs.stat("image.jpg", function(err, stats) {
restler.post("http://posttestserver.com/post.php", {
multipart: true,
data: {
"folder_id": "0",
"filename": restler.file("image.jpg", null, stats.size, null, "image/jpg")
}
}).on("complete", function(data) {
console.log(data);
});
});

关于forms - Nodejs POST 请求多部分/表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com