2009-11-10 5 views
7

저는 지금 레일스를 사용하여 웹 응용 프로그램을 작성 중이며 파일 저장 용량 한도를 추적하는 좋은 방법을 알고 있는지 알고 싶습니까? 우리는 파일을 업로드하는 데 사용할 수있는 특정 공간을 사용자에게 제공하고 Amazon S3에 저장하기 위해 클립을 사용하고 있습니다. 이견있는 사람? 감사합니다사용자에게 파일 저장 한도를 부여하는 방법은 무엇입니까?

답변

7

하나는 실제로 뚜껑을 부과에 관해서는 당신이

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

과 같이 요약 할 수있는 OBJECT_file_size, 나는 어떤 파일에 사용자 지정 유효성 검사를 만드는 것을 권 해드립니다 모델은 오류 및 문제를 다시 클라이언트로 전달할 수 있도록합니다.

6

Paperclip은 파일 크기를 저장합니다. 그런 다음 모든 사용자의 문서의 전체 크기를해야합니다

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

:
그래서 당신은 단지 한 사용자에 대해 뭔가를 할 수 있습니다.
최대 크기 제한을 추가하고 사용자가 해당 크기에 도달하면 문서 업로드를 확인하지 않을 수 있습니다. 당신이 클립과 함께 사용할 수있는 옵션 열