Node.js文件上传不起作用

时间:2017-04-06 10:00:22

标签: javascript node.js file-upload request postman

我需要将图片发布到外部服务。

如果我使用Postman之类的客户端手动测试上传,则效果非常好。

我只需要制作一个POST,并为图片提供一个带有form-data和密钥Picture的正文。 POST request with Postman

但如果我从我的节点应用程序发帖,它就无效。我正在使用request模块来处理请求。

const formData = { Picture: fs.createReadStream('./path/to/image') }

request.post({url: "http://example.com", formData: formData}, function(err, res, body) {
  console.log(body)
}

日志显示{"Code":400,"Exception":"The file failed to upload.}由于它是外部服务,我无法获得有关错误的更多信息。

我只需复制我与邮递员的请求。 你会怎么做?我不关心用于请求的模块。

1 个答案:

答案 0 :(得分:0)

发送文件时请考虑使用流进行后期操作,例如:

const options = {
    method: 'POST',
    url: "www.someurl.com"
};
const req = request(options, callback);
const form = req.form();
form.append('image', fs.createReadStream(file_path));

您是否可能在读取操作完成之前发送文件?

相关问题