在特定节中实现文件附件

  • 本文关键字:文件 实现 file-upload lms
  • 更新时间 :
  • 英文 :


我目前正在为一个学校项目编写一个类似于谷歌课堂的LMS。直到我需要为课堂作业/公告/提交实现文件上传和附件的部分,一切都找到了。

首先,我实现了文件上传,其中文件具有自动生成的文件id,文件名,文件路径,文件url和文件类型。然后是附件,其中有自动生成的id,文件id的外键,分配、提交和公告id的可空外键,以及上传者

这就是问题所在:分配/提交/公告的自动生成id是在后端生成的。因此,当用户为其中一个附件上传附件时,assign/submission/announcement id的外键字段将被保留为空,并且当用户在上传附件后刷新页面时,可能无法将它们存储在前端,因为我将无法根据其外键过滤附件。所以,这是我的问题:

  1. 分配/提交/公告的id应该在前端生成吗?

如果它是在前端生成的,那么当用户上传附件时,我可以将id放入附件的外键字段中。id会很长,所以他们不可能有一个重复的。

  1. 我应该让所有字段的分配/提交/公告是可空的+草案/发布选项?

所以,当用户点击"创建分配/提交/公告",前端会发送一个post请求到服务器,服务器会把分配id返回给前端,并有一个&;草稿"的地位。当用户单击"发送到类"时,它将发送带有分配/提交/公告所需的其余数据的PATCH请求,并将状态更新为已发布

  1. 谷歌教室如何处理这个?

标题说明了一切

第二个选项适合我。事实证明,我不需要在刷新后存储它。前端应该在刷新或取消时发送DELETE请求。ID也在后端生成,并临时存储在前端,只要它不刷新

最新更新