Rails ActiveStorage - загруженное изображение выдает ошибку 400 через 5 минут - PullRequest
0 голосов
/ 10 октября 2018

Итак, я много слышал о Rails 5.2 и ActiveStorage, и много говорилось о том, что ActiveStorage - это замена замены обработки изображений в rails.

Моя проблема в том, что я установилэто и обновило мое приложение.Я загружаю изображение, оно отправляется в мое хранилище Google Cloud, и это нормально.

Проблема в том, что, на мой взгляд, я пробовал такие вещи, как:

   <%= image_tag((current_user.avatar), size: "100x100") %>

и

<%= image_tag(rails_blob_path(current_user.avatar, disposition: "attachment"), size: "100x100") %>

Они покажут загруженное изображение в течение приблизительно 5 минут, а затем исчезнут с моего взгляда.Если я проверяю, это говорит об ошибке 400. Как я могу решить это?Я хочу, чтобы мои аватары пользователей появлялись постоянно, а не уходили.

Пожалуйста, предлагайте, часами искали и читали о том, как решить эту проблему.

edit: выполнение "открыть изображение в новой вкладке" приводит к этой ошибке XML

<Error>
<Code>ExpiredToken</Code>
<Message>The provided token has expired.</Message>
<Details>
Request signature expired at: 2018-10-09T20:50:09+00:00
</Details>
</Error>

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Срок действия URL-адресов изображений по умолчанию составляет 5 минут (https://guides.rubyonrails.org/active_storage_overview.html#linking-to-files)

. Вероятно, вы можете установить новый ключ url_expires_in в конфигурации активного хранилища для облачных служб Google

0 голосов
/ 10 октября 2018

Хитрость заключается в том, чтобы использовать service_url для сохранения изображений в представлениях ваших приложений.

Например: <%= image_tag(@user.avatar.service_url) %>

...