Pregunta

Estoy trabajando en una aplicación web en este momento usando Rails y quería ver si alguien sabía de una buena manera de no perder de vista los límites de almacenamiento de archivos? Queremos dar a los usuarios una cantidad específica de espacio que se puede utilizar para cargar archivos y estamos utilizando un clip para el almacenamiento en Amazon S3. ¿Alguna idea? Gracias

¿Fue útil?

Solución

Una de las columnas opcionales que puede utilizar con un clip es el OBJECT_file_size que se puede resumir como

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

En cuanto a la realidad que impone la gorra, me gustaría recomendar la creación de una validación personalizada en cualquiera que sea el modelo de archivo es para que pueda pasar a errores y problemas de vuelta al cliente.

Otros consejos

Paperclip almacena el tamaño del archivo.
Por lo que podría simplemente, para un usuario, hacer algo como:

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

A continuación, tendrá el tamaño total de los documentos de cada usuario.
A continuación, puede añadir un límite de tamaño máximo y no valida carga del documento si el usuario ha alcanzado ese tamaño.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top