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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top