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

发布于 2024-08-10 20:37:08 字数 117 浏览 8 评论 0原文

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

I'm working on a web application right now using Rails and wanted to see if anyone knew of a good way to keep track of file storage limits? We want to give users a specific amount of room that they can use to upload files and we are using paperclip for storage on Amazon S3. Any thoughts? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何处潇湘 2024-08-17 20:37:08

您可以与回形针一起使用的可选列之一是 OBJECT_file_size ,您可以对其进行总结,就像

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

至于实际施加的上限一样,我建议对任何文件模型创建自定义验证,以便您可以将错误和问题传递回来给客户。

One of the optional columns you can use with paperclip is the OBJECT_file_size which you can sum up like

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

As to the actually imposing the cap, I'd recommend creating a custom validation on whatever the file model is so that you can pass errors and issues back to the client.

旧时模样 2024-08-17 20:37:08

回形针存储文件大小。
因此,您可以为一个用户执行以下操作:

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

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

Paperclip stores the file size.
So you could just, for one user, do something like :

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

You'll then have the total size of every user's documents.
You can then add a max size limit and not validate the document's upload if the user has reached that size.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文