为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA 表单带图片提交 sql事物异常回滚后如何删除已上传的图片

JAVA 表单带图片提交 sql事物异常回滚后如何删除已上传的图片

慕斯王 2018-10-24 18:33:00
表单带图片提交上来,先保存图片,图片保存完之后把路径存到数据库得到id,再把id赋给表单对象实体;如果在图片保存完之后,后面保存表单sql出现异常需要回滚,sql可以回滚,我想把之前上传的文件再给删除需要怎么样实现呢?@Transactional(rollbackFor = Exception.class)public int insert(Form form, MultipartFile file) throws IOException {    if (!file.isEmpty()) {    // 这里的操作会先把文件保存到磁盘,然后将路径信息保存到数据库,再返回路径信息     form.setImage(sysFileService.upLoad(file).getId());     }    return mapper.insert(form); }发生事物异常时可以手动指定异常处理类,我可以重写一个异常处理类,传文件上传后的一些路径信息过去再把这个文件删除吗?
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

可以考虑不用用form提交图片,用上传组件先上传图片到专门的附件表,返回id,表单带着附件id提交后台,回滚时候,根据附件id找到图片路径删除图片,删除附件表记录

查看完整回答
反对 回复 2018-10-24
  • 1 回答
  • 0 关注
  • 831 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信