Эликсир Феникс Сервиз S3 Image
Я хотел бы запросить изображение 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 ответ
Решение
Вы должны сопоставить образец с 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