表单带图片提交上来,先保存图片,图片保存完之后把路径存到数据库得到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找到图片路径删除图片,删除附件表记录
添加回答
举报
0/150
提交
取消