Rails API ActiveStorage: Получить публичный URL для отображения изображения из AWS S3 Bucket? - PullRequest
0 голосов
/ 13 декабря 2018

У меня настроен Rails 5.2 API, и я следил за документацией о том, как прикреплять изображения к объекту модели - все работает нормально.У меня проблема в том, что я хочу вернуть в объект JSON публичный URL вложения, чтобы я мог использовать этот URL в качестве источника в <img src... в моем React-интерфейсе.Есть ли способ вернуть фактический URL-адрес из корзины AWS S3, где изображение будет отображаться при нажатии?

Сейчас я пробовал rails_blob_path, service_url, и я получаюURL-адреса взамен, но ни один из них не отображает изображение так, как я надеюсь.Есть ли обходные пути к этому?

Опять же, просто хочу, чтобы фактический общедоступный URL-адрес вложения был от s3, чтобы я мог подключить его к атрибуту src внутри <img> и отобразить его.Спасибо.

Мой файл development.rb настраивает config.active_stoarge.service = :amazon.

Мой файл storage.yml имеет amazon, настроенный так: amazon: service: S3 access_key_id: <%= Rails.application.secrets.amazon[:access_key] %> secret_access_key: <%= Rails.application.secrets.amazon[:secret_key] %> region: us-east-2 bucket: my_bucket_name_here

ActiveStorage 5.2.2

Рельсы 5.2.2

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете использовать rails_blob_url или rails_blob_path для создания ссылки на фактический файл.

https://edgeguides.rubyonrails.org/active_storage_overview.html#linking-to-files

...