【发布时间】:2021-04-21 09:58:18
【问题描述】:
在我的 Laravel 应用程序中有一个表单,用户需要在不同的地方上传文件。我目前尝试实现的方式是在这些地方设置一个自动上传 (一旦您选择或拖放文件就开始上传) 字段,并通过一个专用的FilesController用于上传和获取文件。
所以当有人选择文件时,它会上传文件并将信息存储到文件表中。
所以我的问题是,当一些人提交带有这些字段的表单时,我将如何将这些自动上传的文件链接到表单?
是否应该在上传成功后返回文件ID,然后在表单提交后将其链接到表单模型?这给我带来了另一个问题,我如何处理孤立文件(文件已上传但用户决定不提交表单)?
请注意:我只是在寻求如何实现它的建议。无需代码。
【问题讨论】:
-
您是否已经实现了自动上传?如果还没有尝试Dropzone.js。您只需要从自动上传过程中捕获响应并将您需要的响应值设置为您的表单。
-
@RapSherlock - 是的,我已经实现了 Dropzone。成功上传后,我将文件的 id 作为响应发送。然后我可以将文件 ID 链接到模型。但是,如何检查孤立文件?
-
您还可以返回上传的文件路径,以便更轻松地将其保存到数据库中。对于您的第二个问题有点难,假设有人已经上传了一些文件并且以某种方式关闭了连接?您将需要跟踪每个未经授权的上传文件,这很棘手吗?最现实的方法是当有人在创建页面时自动保存表单(作为草稿)。
-
是的,我同意。草案方法将正常工作。谢谢@RapSherlock ????
-
不客气,祝你好运 :)