Получить путь к файлу из загруженного файла в Google Cloud Storage

Я только что настроил свое приложение для использования Google Cloud Storage для хранения пользовательских загрузок. До сих пор мне удавалось получить путь к загруженному файлу следующим образом:

ActiveStorage::Blob.service.send(:path_for, file.key)

Однако в Google Cloud Storage это дает мне следующую ошибку:

NoMethodError (undefined method `path_for' for #<ActiveStorage::Service::GCSService:...>)

Как я могу получить путь к файлу здесь?


person Severin    schedule 25.11.2019    source источник
comment
Вероятно, это потому, что они не хотят, чтобы вы работали над базовым уровнем ОС? Поэтому я предполагаю, что вы не можете, и если вы найдете способ, это будет взлом, который будет закрыт в какой-то момент в будущем.   -  person ekampp    schedule 25.11.2019
comment
@ekampp Вы, наверное, правы   -  person Severin    schedule 25.11.2019


Ответы (1)


Вы можете использовать url_for_direct_upload(key, expires_in:, checksum:, **) или url(key, expires_in:, filename:, content_type:, disposition:), чтобы получить URL-адреса GCS.

Справочник

person Kunal Deo    schedule 25.11.2019