HTTP POST多部分与命名文件

Zen*_*Zen 3 http elixir phoenix-framework

我需要发送一个(多部分)HTTP请求,其中包含一个名为的文件.这似乎比我想象的更难实现...我试图找到一种方法来使用HTTPoison,但我不能让它使用"文件"以外的名称.我已经尝试过直接使用Hackney,但似乎没有一个选项,并且肯定没有对其中任何一个显示此功能的测试.我也看了一下ibrowse和HTTPotion,但找不到任何看似有用的东西(我的Erlang非常有限,请注意).这是我想要做的一个例子,使用Ruby库Curb(注意Curl :: PostField.file采用名称和文件路径).

这是一件奇怪的事吗?或者我错过了一些明显的东西...任何建议都非常感谢.

谢谢!

Zen*_*Zen 12

如果将来有人遇到这个问题,这是解决方案:

HTTPoison.start
request = HTTPoison.post!(url, {:multipart, [{:file, "path/to/file", { ["form-data"], [name: "\"photo\"", filename: "\"/path/to/file\""]},[]}]}, headers, options)
Run Code Online (Sandbox Code Playgroud)

请注意额外的转义报价.