Elixir:如何 post 图像到 api

Elixir: how to post image to api

我在 elixir 中使用 erlang 的 httpc :httpc.request(:post, {url, headers, content_type, body},[],[]) 在 phoenix 应用程序中尝试 post 图像到 api,到目前为止我正在创建像

这样的正文

{:ok, data} = File.read(image.path) body = "{ \"param\": \"value\", \"file\": #{data}}" 我不确定哪里出错了,但是请求在没有文件参数的情况下也能正常工作

我的问题是这样做的长生不老药方法是什么?

如上所述,我使用 erlcloud 上传到 AWS 确保按照入门指南导出您的 AWS 密钥 在凤凰城 mix.exs deps add

{:erlcloud, github: "gleber/erlcloud"}

示例代码

def create(conn, params) do image = params["image"] image_url = to_char_list(image.filename}) {:ok, data} = File.read(image.path) :ssl.start() :erlcloud.start() :erlcloud_s3.put_object(__FOLDER__, image_url, file,[],[]) end