如何为用户设置文件存储限制?

7

我现在正在使用Rails开发一个Web应用程序,想知道是否有好的方法来跟踪文件存储限制?我们希望为用户提供一定数量的空间来上传文件,并且我们正在使用Amazon S3上的paperclip进行存储。有什么想法吗?谢谢。

2个回答

7

你可以在Paperclip中使用的可选列之一是OBJECT_file_size,你可以像这样总结它:

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

关于实际施加限制,我建议在文件模型上创建自定义验证器,以便您可以将错误和问题传递回客户端。


6
Paperclip 存储文件大小。
因此,您只需要为一个用户执行以下操作:
def used_file_size
    self.files.sum(:document_file_size)
end

然后,您将拥有每个用户文档的总大小。
您可以添加一个最大大小限制,如果用户已达到该大小,则不验证文档上传。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接