Проверка несущей волны, существует ли удаленный файл через туман

Я знаю, что мне здесь не хватает чего-то очень простого ...

CarrierWave::Storage::Fog::File есть метод, существует?

Как мне его использовать? Я просто пытаюсь проверить, существует ли ранее загруженный файл в удаленном хранилище.

Ни мой объект изображения, ни мой объект загрузчика не имеют доступа к этому методу. Конечно, мне не нужно создавать новый CarrierWave::Storage::Fog::File объект, чтобы проверить, существует ли файл?

Если да, то какие параметры мне нужно указать? Требуется следующее: загрузчик, база, путь (я использовал загрузчик, каталог хранилища и URL-адрес изображения, но это не сработало)


person Demelziraptor    schedule 07.07.2012    source источник


Ответы (1)


Предположим, у вас есть модель User с изображением поля, на котором вы используете Carrierwave. Теперь вы можете написать:

user = User.first
user.image.file.exists?

Это приведет к удаленной проверке, которая вернет истину или ложь.

person Wouter Vegter    schedule 04.08.2012
comment
Хотя это работает, оно выполняется медленно, поскольку выполняет удаленную проверку, особенно если вы выполняете это для нескольких изображений на странице. - person Dale Zak; 13.03.2016
comment
Как я могу проверить, существует ли или загружен файл, прежде чем сохранять его в базе данных? (Использование S3 для хранения, CarrierWave и Dropzone.js для загрузки) - person Huzaifa Saifuddin; 09.06.2017