cURL POST 图像文件如何工作?

How cURL POST image file works?

我正在尝试使用新的 Facebook Messenger 平台 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# 一起使用。供您参考,如果我使用来自互联网 url.

的文件,我已成功使用 API

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

请解释 cURL 如何处理给定的文件路径,尤其是图像,并向 Web 服务器创建 POST 请求?如果可能的话,我必须用 C# 做什么?

-F 选项用于表单。这相当于发出一个 POST 请求,其中包含 multipart/formdata 的 Content-Type header 和包含所有 key-value 对的请求 body适当的边界集。 cURL 将读取二进制数据并将字节放入请求中的正确边界。 C#提交multipart/formdata请求的例子网上有很多。查看 HttpClient 或 WebClient 文件上传,你会找到你需要的。

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