我现在正在使用Rails开发一个Web应用程序,想知道是否有好的方法来跟踪文件存储限制?我们希望为用户提供一定数量的空间来上传文件,并且我们正在使用Amazon S3上的paperclip进行存储。有什么想法吗?谢谢。
我现在正在使用Rails开发一个Web应用程序,想知道是否有好的方法来跟踪文件存储限制?我们希望为用户提供一定数量的空间来上传文件,并且我们正在使用Amazon S3上的paperclip进行存储。有什么想法吗?谢谢。
你可以在Paperclip中使用的可选列之一是OBJECT_file_size,你可以像这样总结它:
# Assuming a user has many files relationship
@user.uploads.sum(:image_file_size)
关于实际施加限制,我建议在文件模型上创建自定义验证器,以便您可以将错误和问题传递回客户端。
def used_file_size
self.files.sum(:document_file_size)
end
然后,您将拥有每个用户文档的总大小。
您可以添加一个最大大小限制,如果用户已达到该大小,则不验证文档上传。