现在公司里面 A是Web服务器,B是图片服务器,C是数据库服务器。
现在比如当用户在A里面写文章的时候,需要上传图片(图片允许上传多张),现在的做法是只要上传图片,一律直接先扔到图片服务器上去,等用户提交发布按钮的时候,在统一从数据库中修改图片对应的帖子id。
这样做很明显有两个缺点:
1、会大量产生垃圾图片信息,因为不管用户最终是否发布了文章,图片都已经被保存在服务器上了。
2、图片上传之后,用户发布文章之前,图片与用户之间的粘性似乎不够,因为用户在发表之前,我是用sessionid来标示当前用户的。比如我是一个用户,我在发布第一个文章的时候,选择了两个图片,然后我没有发布,我重新发布一片文章的时候,之前的图片就会被显示出来。请问现在大家对于这样的问题都是怎么处理的?有没有什么好的解决方案?

解决方案 »

  1.   

    先上传到临时目录,如果提交成功,再从临时目录move到图片服务器。临时目录可定时清空,判断文件创建时间,如果创建时间早于一天前,那就删除
      

  2.   

    临时的可以 
    还有就是在session失效前删除这个session对应的 垃圾文件
    呵呵这样可能会好些 个人意见
      

  3.   

    用户在上传图片时,保存图片信息及上传用户的ID入图片数据库并返回刚上传的图片在数据库内的ID. 
    文章信息加一个图片字段,用以保存图片ID,多个的话以逗号隔开也就是说,在图片信息库内,不记录哪些文章引用了哪个图片,而是改由文章信息上记录引用了哪些图片.
      

  4.   

    提交文章时再上传图片,不但消去很多麻烦,并且没有脏数据,在单个logo上传,或者上传图片相对较小的情况下这种情况是很好的,
     缺点:如果上传时图片较大容易上传失败!