我正在使用 HTTPoison 下载图像,但我无法弄清楚如何从响应的正文中获取图像。我需要将它作为 base64 编码字符串放入 annotate_image 以传递给另一个 API。但是,我无法弄清楚身体是什么。甚至 IO.puts 正文也会抛出一个错误,它说我用 3 个参数调用它,我可以清楚地看到图像是这些参数之一,但我无法在我的 annotate_image 函数中提取它。我尝试了“body[1]”、body(1)、body.1、body.get(1) 和其他变体,没有任何效果。如何确定结构体的类型及其成员变量/参数是什么?
def get_image(url) do
finishedUrl = Enum.join(url, "/")
finishedUrl = String.replace(finishedUrl, "/", "//", global: false)
IO.puts "Printing url part 2"
IO.puts finishedUrl
case HTTPoison.get(finishedUrl) do
{:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
annotate_image(body)
{:ok, %HTTPoison.Response{status_code: 404}} ->
IO.puts "Not found :("
{:error, %HTTPoison.Error{reason: reason}} ->
IO.inspect reason
end
IO.puts "get_image ended here"
end