上传入库流程
仅教师角色可发起上传。系统先校验扩展名与文件大小,通过后方可写入文件,随后将材料行与知识库正文置于同一事务提交。任一步骤失败,两张表整体回滚,已写入的文件亦须清理。
1上传与两表同一事务
存储名由服务端生成,不使用客户端上传的原始文件名作为路径。成功时材料记录与正文同时存在;失败时二者均不留存。
2上传请求在各模块间如何衔接
浏览器仅负责将文件放入请求体。真正决定能否入库的,是后续三个模块按序接手处理。学生请求在第二步即被拒绝,此时磁盘与数据库尚未发生任何写入。
仅教师角色可发起上传。系统先校验扩展名与文件大小,通过后方可写入文件,随后将材料行与知识库正文置于同一事务提交。任一步骤失败,两张表整体回滚,已写入的文件亦须清理。
存储名由服务端生成,不使用客户端上传的原始文件名作为路径。成功时材料记录与正文同时存在;失败时二者均不留存。
浏览器仅负责将文件放入请求体。真正决定能否入库的,是后续三个模块按序接手处理。学生请求在第二步即被拒绝,此时磁盘与数据库尚未发生任何写入。