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

StackOverflow https://stackoverflow.com/questions/1705641

Вопрос

Сейчас я работаю над веб-приложением, используя Rails, и хотел узнать, знает ли кто-нибудь хороший способ отслеживать ограничения на хранилище файлов?Мы хотим предоставить пользователям определенное пространство, которое они смогут использовать для загрузки файлов, и используем скрепку для хранения на Amazon S3.Есть предположения?Спасибо

Это было полезно?

Решение

Одним из дополнительных столбцов, которые вы можете использовать со скрепкой, является OBJECT_file_size, который вы можете суммировать следующим образом:

# Assuming a user has many files relationship
@user.uploads.sum(:image_file_size)

Что касается фактического введения ограничения, я бы рекомендовал создать специальную проверку для любой модели файла, чтобы вы могли передавать ошибки и проблемы обратно клиенту.

Другие советы

Скрепка хранит размер файла.
Итак, вы можете просто для одного пользователя сделать что-то вроде:

def used_file_size
    self.files.sum(:document_file_size)
end

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top