限制用户可以在 Parse 上存储的图像数量

Posted

技术标签:

【中文标题】限制用户可以在 Parse 上存储的图像数量【英文标题】:Limit the number of images a user can store on Parse 【发布时间】:2016-09-13 11:53:28 【问题描述】:

我目前正在开发一个 ios 应用程序,用户将能够将图像上传到我的 Parse 服务器,因为他们可以将任意数量的图像上传到数据库,但我想限制他们的上传,比如说分配 1gb给每一位用户。

我还希望能够解除对特定用户的限制,以便某些人能够拥有比其他人更多的存储空间。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

经过一些快速搜索后,我没有看到任何直接的方法。我会做的是:

    为名为@9​​87654323@ 的PFUser 创建一个新字段。这将是用户能够拥有的兆字节数。 创建一个接受图像和图像文件大小的新 Cloud Code 函数。 当你去上传时,你可以通过关注this answer找到文件大小以兆字节为单位。 将图像数据和文件大小传递给您的新函数。 在您的新功能中检查用户是否有足够的可用空间来保存新图像。如果是这样,请保存并更新 usedSpace 参数。如果不是,则返回错误。

你的云代码函数看起来像这样(伪代码):

// For example:
Parse.Cloud.define("saveImageWithSize", function(request, response) 

  // Grab var's from params
  var imageData = request.params.imageData;
  var imageSize = request.params.imageSize;

  if user has enough free space 
    // save the imageSize
    // update the `usedSpace` field
    response.success("success");
  
  else  user does not have enough space 
    response("not enough space");
  
);

然后你会像这样从你的应用程序中调用它:

    PFCloud.callFunctionInBackground("saveImageWithSize", withParameters: ["imageData" : yourImageData, "imageSize" : youImageSize])  (response, error) in
        if let err = error 
            print(err)
        
        else 
            print(complete)
        
    

希望这会有所帮助。

【讨论】:

以上是关于限制用户可以在 Parse 上存储的图像数量的主要内容,如果未能解决你的问题,请参考以下文章

我可以与 UIActivityViewController 共享的图像数量是不是有限制?

使用 Parse 可以存储多少数据?

可以存储在 HashMap 中的键(对象)数量的理论限制?

Parse.com 查询限制 - 影响 whereKey 限制?

Parse.com 限制帖子?

Discourse 如何限制存储到 S3 的备份文件数量