如何在Meteor.js中使用二进制正文发出POST请求

时间:2015-05-11 07:18:21

标签: javascript meteor npm http-post

我希望在Meteor.js中找到一个令人沮丧的问题的解决方案。我想对一个开放的API服务进行一些API调用以进行面部检测。我只需要发送一个图像并接收一个JSON对象。我找不到用meteor.js在帖子体内发送图像的方法。 Meteor中的默认http包具有以下方法

HTTP.post(url, [callOptions], [asyncCallback])

HTTP.call(method, url, [options], [asyncCallback])

带有选项

[options]  
 data Object
    JSON-able object to stringify and use as the HTTP request body. Overwrites content.

我的问题是如何将二进制流附加到帖子正文。

任何帮助? 感谢

1 个答案:

答案 0 :(得分:2)

我认为你不能用Meteor HTTP.call

做到这一点

如果你看看他们的源代码 https://github.com/meteor/meteor/blob/devel/packages/http/httpcall_client.js 你会发现这个

content = JSON.stringify(options.data);

要发送二进制数据,您必须使用XMLHttpRequest和FileReader API

我在Meteor: uploading file from client to Mongo collection vs file system vs GridFS(使用选项2)

写了相关主题的答案