Wie Benutzer eine Datei Speichergrenze geben?
-
19-09-2019 - |
Frage
Ich arbeite an einer Web-Anwendung jetzt Rails und wollte sehen, ob jemand wußte, von einem guten Weg, um zu verfolgen Dateispeichergrenzen verwendet? Wir möchten, dass Benutzer eine bestimmte Menge an Raum geben, die sie zum Hochladen von Dateien verwenden können, und wir verwenden Büroklammer für die Speicherung auf Amazon S3. Irgendwelche Gedanken? Dank
Lösung
Eines der optionalen Spalten mit Büroklammer verwenden können, ist die OBJECT_file_size, die Sie mögen
Fassend kann# Assuming a user has many files relationship
@user.uploads.sum(:image_file_size)
In Bezug auf die die Kappe tatsächlich zur Einführung, würde ich empfehlen, eine benutzerdefinierte Validierung Erstellung auf, was die Datei-Modell ist, so dass Sie Fehler und Probleme zurück an den Client weitergeben können.
Andere Tipps
Paperclip speichert die Dateigröße.
So könnten Sie einfach, für einen Benutzer, so etwas wie:
def used_file_size
self.files.sum(:document_file_size)
end
Sie werden dann die Gesamtgröße jedes Benutzers Dokumente.
Anschließend können Sie eine maximale Größe Limit hinzufügen und nicht der Upload des Dokuments überprüfen, ob der Benutzer diese Größe erreicht hat.