2016-07-08 56 views
1

我了解如何上传/下载图像。想知道如何在Firebase控制台内管理这些数据的最佳做法?Firebase存储结构示例

我们大多会上传图片/视频,并通过我们的应用程序中的私人聊天/群聊在用户之间发送。

于是我开始创建这个:

enter image description here

  1. 我应该添加图片到用户,例如:

    /users/<userId>/images/<image-file> 
    
  2. 怎么会是很好的分享chat-图片组?

    /groups/groupId/images/<image-file> 
    

这是怎么了我们的群消息火力结构的交易

/groups/<groupId>/<messageId> 

如果扩大MESSAGEID你看到的消息,用户ID(谁写的消息和时间戳)

enter image description here

建议将受欢迎

谢谢。

+0

选择特定文件夹结构的最大原因是,您可以[使用安全规则保护对特定文件的访问](https://firebase.google.com/docs/storage/security)。我不知道为什么你也标记了firebase数据库。这是如何影响你的问题的? –

+1

我添加了firrbase数据库以获取可能适用于Firebase存储的洞察和最佳实践。回合安全..简单的要求..在私人聊天只有两个人可以访问文件,只有组参与的组才能访问文件。你会如何根据这个建议来构建它? – rayman

回答

0

根据我的说法,用户上传的每张图片(或文件)都是用户自己的财产,所以您可以做的是,您的点数1是实施的正确方法。你甚至可以应用安全规则。您不必担心架构,因为架构已经是平坦的。没什么可担心的。

因此,您将文件上传到用户的文件夹,您将获得该文件的链接,并且可以将其存储在Firebase数据库中。我希望你清楚你的观点不是。 1

现在,点数为2.您的Firebase数据库将具有groups对象,该对象将持有用户的聊天记录。如果您想将图片分享给群组,在这种情况下,您也会将文件上传到Firebase存储中的文件夹,您只需在群聊中共享链接即可。总体而言,您可以将文件上传到Firebase存储,在Firebase数据库中存储并共享链接。

希望你清楚你的观点。 询问您是否需要更多许可。

+0

感谢您的回复。关于点2.你说我不需要文件夹?只是要扔到根文件夹的所有组消息?我用我在我们的Firebase数据库结构中实际处理群组消息的方式修改了这个问题。 – rayman

+0

我想知道如果您有答案回应我的评论吗? (关于第2点)谢谢 – rayman

+1

是否足够安全地将链接存储在数据库中,并假定无权访问该链接的用户无权访问该文件? – Stradosphere