Rails Active Storage создает прямую ссылку для скачивания - PullRequest
0 голосов
/ 10 мая 2019

Я использую Active Storage с Rails 5.2.

Когда я создаю ссылку для загрузки изображения, он генерирует URL-адрес для большого двоичного объекта, который указывает на приложение rails.

Есть ли способ создать ссылку для скачивания, которая будет указывать на облачную службу типа S3 без перенаправления в приложение rails?

Ответы [ 2 ]

2 голосов
/ 10 мая 2019

Вы можете получить ссылку на файл, используя метод активного хранилища service_url, например:

Model.last.attachement.service_url

Он вернет сервисную ссылку для вашего вложения.Вы можете узнать больше о service_url здесь

1 голос
/ 10 мая 2019

service_url метод правильный, но имейте в виду, что срок действия сгенерированного URL истечет со временем.Также сгенерированные URL-адреса таким образом могут быть медленнее из-за перенаправлений (Active Storage генерирует URL-адреса, которые указывают на приложение Rails. При обращении эти URL-адреса перенаправляют на фактическую конечную точку службы для файла).

Если вы хотитечтобы создать постоянный прямой URL-адрес для прикрепления, Active Storage пока не работает без некоторого хакерства.

Существует несколько предложений по расширению этой функции в Active Storage: https://github.com/rails/rails/issues/34552#issuecomment-469530719

...