我正在开发一个管理员可以上传文件的网站(仅限管理员在限制区域内)并将文件与用户关联。 当普通用户登录网站时,他们会有一个“文档”部分,他们可以看到上传并与之关联的文件。
我在网上挖了很多但是所有的信息让我很困惑,所以我想问你所有人:)
这是我基本上想要实现的目标:
管理员可以访问可以使用上传表单上传多个文件的受限区域,并且对于每个文件,她可以选择用户来关联文件。
我希望能够创建表单,在任何更新发生之前,列出文件名和多选框,其中所有用户都靠近每个文件名。
上传的文件将与一个或多个用户相关联,用户可以与多个文件相关联。即多对多关系
我想创建一个file_user
数据透视表,以便每个File类都可以与User类的许多实例相关联,反之亦然。
文件的名称应保留为原始名称,但应该存在重复名称的可能性。因此,我应该创建一些东西来区分文件并使它们保持唯一(但仍然使用相同的文件名) 我想到了不同的文件夹名称,但它在服务器中会很乱。
用户应该能够访问和下载与其关联的仅文件。他们不应该能够访问与他们无关的文件,也不能知道它存在的文件。 (即找不到文件而不是权限被拒绝)。
我已经实现了身份验证,并且我知道如何创建仅限于Admin的页面。为了实现文件上传和下载服务,我想到了这样的事情:
File
模型
FileController@create
(多文件上传表单视图),FileController@store
(用于存储数据库中的文件),FileController@index
(处理用户看到文件的视图)与它们相关联并可以下载它们)和FileController@download
(负责将文件下载到授权用户)FileController
中的函数。files
表(通过迁移)以包含file_id
和file_name
。file_user
数据透视表,因为它们具有多对多的特征。我正在努力实现上述内容,将文件限制为允许的用户,我不确定这是最好和最安全的方法。
你会如何实现这个?如果你有时间,我会很感激你是否会为每个阶段添加一些代码,以便我能更好地理解。实现这一目标的简单应用程序是最好的学习方法。到目前为止,我没有找到任何在线。
我很乐意详细说明并详细解释不清楚的部分 谢谢!