Изменение изображения в облаке Active Storage - PullRequest
0 голосов
/ 10 декабря 2018

Я использую Rails 5.2 и GCS в качестве облачного сервиса.Я хотел бы дать возможность пользователям обрезать и поворачивать изображение пользователя.У пользователя много изображений, у изображения есть одно :image_file прикрепленное

В разработке я использую такой метод:

class Image

...

  def  rotate(degree)
    image =  MiniMagick::Image.new(ActiveStorage::Blob.service.send(:path_for, self.image_file.key))
    image.rotate "#{degree}"
    image.write(ActiveStorage::Blob.service.send(:path_for, self.image_file.key))
    self.image_file.blob.analyze
  end

...

end

Но я не могу понять, как добраться до файлов изображений в облаке.

Я сделал это, чтобы загрузить файл в локальное хранилище и выполнить все необходимые операции.

Теперь требуется только заменить (удалить текущий и создать новый с тем же именем)файл в облаке (по возможности ничего не меняя в записях базы данных), но я не могу понять, как это сделать с активным хранилищем.

По крайней мере, мне нужно получить имя файла в облаке , чтобы использовать только голые google-cloud-ruby

1 Ответ

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

Чтобы вывести список файлов, хранящихся в хранилище Cloud Storage с использованием Ruby on Rails, см. Пример кода, определенный здесь .Вы также можете загружать файлы в облачное хранилище и удалять файлы из них, используя Ruby on Rails.

Кроме того, поскольку вы разрешаете своим клиентам изменять свои файлы в облачных хранилищах, вы можете рассмотреть возможность использования контроля версий .Это повлечет за собой дополнительные расходы, но обеспечит надежность для ваших клиентов.

Вот ссылка на Ruby в Google Cloud Platform документация, которая может быть вам полезна.

...