日期:2014-05-17  浏览次数:20491 次

发布内容时上传的垃圾怎么处理才合适?
我们在发布内容时,通过编辑器上传图片等文件,中途可能发现传错了,或者临时有事,内容不提交了,但是那些文件已经上传了,而且没有使用起来,也就是成了垃圾文件,当然我在做程序的时候,已经将上传的文件信息,包括名称、地址等已经记录到数据表中,我的想法是定期清理那些没有绑定内容ID的文件。大家还有什么解决方案?

------解决方案--------------------
那就要看你是如何保存相关信息的了
如果有一个“是否使用”或“应用于”的字段就简单多了
你说是吧?
------解决方案--------------------
像cnblog那种写博客会定时自动保存,起码需要第一次ajax自动保存提交到数据库里以便记录下这个博文的ID,
AJAX会返回一个文章id被append到表单里,下一次ajax或者主动提交就知道附件属于哪个文章了,也就是说一旦提交过附件,这篇博文就属于作者的一篇草稿了,去草稿箱就应该可以看到。 即便浏览器关闭JS了,自然就不会有自动保存了,也不会有附件上传功能了,只有个普通提交按钮,是平稳退化的。

也就是,我认为任何附件上传的前提是这篇文章已经被入库,附件都归属于这个文章ID。

如果你的应用就是非要单独上传附件,恐怕服务端也很难编程来记录这个附件属于谁吧。
除非上传附件入库或者入文件系统,把路径记录在SESSION里,并在真正提交博文的时候建立最终的关联,那的确需要定时清理那些没有被关联的附件了,无论它们是被记录在数据库里还是文件系统里。