Pracuję teraz nad aplikacją sieciową za pomocą Railsów i chciałem sprawdzić, czy ktoś wie o dobrym sposobie śledzenia limitów przechowywania plików? Chcemy zapewnić użytkownikom określoną ilość miejsca, w której mogą przesyłać pliki, a do przechowywania w usłudze Amazon S3 używamy spinacza. jakieś pomysły? DziękiJak zapewnić użytkownikom limit miejsca na pliki?
7
A
Odpowiedz
7
Jedna z kolumn opcjonalnych można używać z spinacz jest OBJECT_file_size które można podsumować jak
# Assuming a user has many files relationship
@user.uploads.sum(:image_file_size)
Co się faktycznie nakładając czapkę, polecam stworzenie walidacji niestandardowej na jakimkolwiek pliku model jest taki, że możesz przekazywać błędy i problemy z powrotem do klienta.
6
Paperclip zapisuje rozmiar pliku.
def used_file_size
self.files.sum(:document_file_size)
end
Będziesz wtedy całkowity rozmiar dokumentów, każdy użytkownik za:
Więc może po prostu, dla jednego użytkownika, coś zrobić.
Następnie można dodać maksymalny limit rozmiaru i nie sprawdzać poprawności przesyłania dokumentu, jeśli użytkownik osiągnął ten rozmiar.