今天再次思考了下图片上传,觉得昨天的有个细节存在问题。
昨天在码代码的时候,没有去考虑删除临时文件的问题。
今天,想增加删除临时文件,发现昨天的代码就有问题了。
上次提到:
class PhotoBean {
//将要删除的,通常是数据库中的
public List<Photo> toDelete;
//将要更新的,都在数据库中,部分最新内容来源于web前端
public List<Photo> toUpdate;
//将要增加的,由于上传图片的时候都已经插入了,这个时候可以忽略了
public List<Photo> toAdd;
}
最大的改变,在于toAdd这个集合。
在上传图片的时候,如果没有立即存入到数据库(状态为“临时增加”),那么在保存的时候toAdd就会有。
如果已经存入了数据库,toAdd就是null,也就是说保存的时候,全都是更新和删除,不存在增加。
测试过程,发现了一些问题。
本来想,多测试几天,在详细写完整的思路。
后来,我想了想,为啥不通过写文章,复盘的方式,顺便检验下自己的思路是否有问题呢。
第3篇,将比较完整地阐述我的“单一业务的完整解决方案”。