HTTPoison上传文件

时间:2016-06-16 10:02:30

标签: elixir

是否有任何教程如何使用HTTPoison.post上传本地文件? 打开文件

{:ok, file} = File.open "README.md"
HTTPoison.post("#{url}", file, headers)

这适用于使用上传功能的Dropbox集成

curl -X POST https://content.dropboxapi.com/2/files/upload \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"path\":\"/Homework/math/Matrices.txt\",\"mode\": \"add\",\"autorename\": true,\"mute\": false}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt

问题是如何发送-data-binary文件。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:4)

我认为相当于curl的{​​{1}}将使用--data-binary作为正文,如Hackney's README.md中所述。

这应该发送与{:file, path}示例相同的请求:

curl

答案 1 :(得分:1)

某些站点需要多部分的表单数据。如果上述示例不适用于您的目标,请尝试此操作。

HTTPoison.post!(
  url,
  {:multipart, [{:file, file}]},
  [],
  recv_timeout: 30000
 )