Como para dar aos usuários um limite de armazenamento de arquivo?
-
19-09-2019 - |
Pergunta
Eu estou trabalhando em uma aplicação web agora usando Rails e queria ver se alguém sabia de uma boa maneira de manter o controle de limites de armazenamento de arquivo? Queremos dar aos usuários uma quantidade específica de quarto que eles podem usar para fazer upload de arquivos e estamos usando clipe para armazenamento no Amazon S3. Alguma ideia? Graças
Solução
Uma das colunas opcionais que você pode usar com o clipe de papel é o OBJECT_file_size que você pode resumir assim:
# Assuming a user has many files relationship
@user.uploads.sum(:image_file_size)
Quanto ao fato impor a tampa, eu recomendo a criação de uma validação personalizada em qualquer que seja o modelo de arquivo é para que você pode passar erros e problemas de volta ao cliente.
Outras dicas
lojas Paperclip o tamanho do arquivo.
Então você poderia apenas, para um usuário, fazer algo como:
def used_file_size
self.files.sum(:document_file_size)
end
Você terá então o tamanho total dos documentos de cada usuário.
Você pode então adicionar um limite de tamanho máximo e não validar envio do documento se o usuário chegou a esse tamanho.