当用户放弃操作时,如何删除Ajax异步上传后的文件?

有一个表单,有几个输入框,一个文件上传。文件通过Ajax异步上传后,用户放弃提交信息。这时表单数据未提交,但是文件已经上传。有什么好的方法删除已经上传的文件吗?

阅读 3.7k
5 个回答

1、加个按钮,放弃提交时通过关联关系删除该文件
2、这种场景可以做一个预提交,文件缓存,加个过期时间,真正提交时再把相关信息固化下来

后端建立一个上传的缓存池
当用户上传文件统一上传到缓存池 并记录上传时间以及生成文件id
当用户点击提交表单时 从缓存池移出所需文件 存入真正当文件池
设置一个定时任务如每天凌晨4点扫描缓存池 对比文件的上传时间 超过1天则删除文件

这种需求一般不需要前端去考虑,后台每隔一段时间处理一下冗余数据就行

为什么不等用户提交信息后再上传文件

两种方法结合用,
1.js监听用户离开当前页的行为, 离开的时候触发删除,
2.定时任务处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题