Эликсир Феникс Сервиз S3 Image - PullRequest
0 голосов
/ 27 ноября 2018

Я хотел бы запросить изображение S3, а затем отправить его с помощью Phoenix.

def getImage(conn, %{"id" => uuid}) do
   file = ExAws.S3.get_object("bucket", "images/image.jpg")
   |> ExAws.request

   conn
   |> put_resp_content_type("image/jpg")
   |> put_resp_header(
      "content-disposition",
      "attachment; filename=\"file.jpg\""
   )
   |> send_resp(200, file)
end

Я нашел бесконечные учебники по загрузке в S3, но ничего по извлечению.Заранее спасибо!

1 Ответ

0 голосов
/ 27 ноября 2018

Вы должны сопоставить образец с функцией get_object и извлечь из нее содержимое изображения.

def getImage(conn, %{"id" => uuid}) do
  {:ok, %{body: image_content}} = ExAws.S3.get_object("bucket", "images/image.jpg")
  |> ExAws.request

  conn
  |> put_resp_content_type("image/jpg")
  |> put_resp_header(
    "content-disposition",
    "attachment; filename=\"file.jpg\""
  )
  |> send_resp(200, image_content)
end
...