cURL POST图像文件如何工作?

时间:2016-05-01 03:49:38

标签: c# facebook curl facebook-messenger

我正在尝试使用新的Facebook Messenger Platform API使用应用程序目录中的图像文件发送图像消息。

Facebook使用cURL如下所示给出了示例:

curl  \
  -F recipient='{"id":"USER_ID"}' \
  -F message='{"attachment":{"type":"image", "payload":{}}}' \
  -F filedata=@/tmp/testpng.png \
  "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"

但我正在尝试将API与C#一起使用。为了您的信息,如果我使用来自互联网网址的文件,我已成功使用该API。

我尝试使用图片文件的filedata字符串填写base64属性,但不成功。

请解释cURL如何使用给定的文件路径,尤其是图像,并为Web服务器创建POST请求?如果可能的话,我需要用C#做什么选项?

1 个答案:

答案 0 :(得分:1)

-F选项适用于表单。这相当于使用multipart / formdata的Content-Type标头发出POST请求,并且请求主体包含使用适当边界集列出的所有键值对。 cURL将读取二进制数据并将字节放在请求中的正确边界内。 C#提交了多部分/ formdata请求,网上有很多例子。查看HttpClient或WebClient文件上传,您将找到所需内容。

我将离开计算机几天,从移动设备提交示例代码并不是最简单的事情。如果您需要一些示例代码,请告诉我们。