任意上传图片的存储的设计思路
2008-07-12 02:58
337 查看
之前我讲了任意上传图片同时又不会将大量的毫无用处的图片保存在服务器上,占用大量的硬盘的资源的想法。
今天我们来实现一下,注意,我这里假设全部的文章正式标识是int类型
新文章
当用户新建文章并且上传图片时,基于页面ViewState生成一个临时的key,用于标识尚未分配标识的文章。一旦用户决定保存草稿或者发表,则系统将根据临时Key将用户上传的图片与该文章建立后的标识对应。
编辑文章
系统首先获取文章,并基于页面ViewState同样生成一个临时的Key,不过这次首先系统会到数据库中标识相应的图片,对,会更新一次数据库中的图片表的对应临时Key。这样,以往添加的图片同样被作为处理对象。当用户编辑完毕文章时,则系统根据临时key将用户上传的图片与该文章建立后的标识对应,为了避免以前建立的图片不再使用而占据硬盘空间,原来添加的图片的建立时间和查看次数也同样清零。
那么什么时候系统会删除无用的图片文件呢?
我打算这样做,首先,每个图片都会有创建时间,其次,每个图片都会有基于创建时间开始的使用次数,这样,当一张图片文件超过1个月甚至未被访问过一次时,则系统自动删除图片。这里面可能也会有个问题,即草稿模式的文章真的很可能未被访问过一次,所以我考虑的是采用下面的方法:
1,系统全面访问一遍文章,访问的模式可以改为内部服务器访问,这样,可以节省网络资源。因为所有的文章都会被访问一遍,所以每篇文章所含有的图片都会被标记。
2,检查所有的图片,未访问过一次的则删除。
过一段时间我会把实例放上来,鄙人技术水平有限,厄...所以欢迎大家提意见。
今天我们来实现一下,注意,我这里假设全部的文章正式标识是int类型
新文章
当用户新建文章并且上传图片时,基于页面ViewState生成一个临时的key,用于标识尚未分配标识的文章。一旦用户决定保存草稿或者发表,则系统将根据临时Key将用户上传的图片与该文章建立后的标识对应。
编辑文章
系统首先获取文章,并基于页面ViewState同样生成一个临时的Key,不过这次首先系统会到数据库中标识相应的图片,对,会更新一次数据库中的图片表的对应临时Key。这样,以往添加的图片同样被作为处理对象。当用户编辑完毕文章时,则系统根据临时key将用户上传的图片与该文章建立后的标识对应,为了避免以前建立的图片不再使用而占据硬盘空间,原来添加的图片的建立时间和查看次数也同样清零。
那么什么时候系统会删除无用的图片文件呢?
我打算这样做,首先,每个图片都会有创建时间,其次,每个图片都会有基于创建时间开始的使用次数,这样,当一张图片文件超过1个月甚至未被访问过一次时,则系统自动删除图片。这里面可能也会有个问题,即草稿模式的文章真的很可能未被访问过一次,所以我考虑的是采用下面的方法:
1,系统全面访问一遍文章,访问的模式可以改为内部服务器访问,这样,可以节省网络资源。因为所有的文章都会被访问一遍,所以每篇文章所含有的图片都会被标记。
2,检查所有的图片,未访问过一次的则删除。
过一段时间我会把实例放上来,鄙人技术水平有限,厄...所以欢迎大家提意见。
相关文章推荐
- 任意上传图片的存储的设计思路
- BBS 设计思路系列 ---- 上传、下载文件、图片
- 项目图片上传存储的目录部分代码思路Calendar类获取年月日
- BBS 设计思路系列 ---- 上传、下载文件、图片
- HTML+js+css实现点击图片弹出上传文件窗口的两种思路
- 基于图片分离的文件系统设计(基于fastdfs) - 数据库存储部分
- 功能设计源码以及思路-图片上传篇
- 织梦去掉上传图片的水印或者改为自己设计的水印
- Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
- 架构设计:系统存储(20)——图片服务器:需求和技术选型(2)
- 上传多张图片用Session临时存储
- springmvc文件上传,上传图片存储到tomcat虚拟图片服务器
- 用hdfs存储海量的视频数据的设计思路
- SAP UI5上传图片 用XSJS存储在HANA中的方法
- 求C#上传图片到oracle数据库的存储过程和程序代码。
- 上传图片文件(支持远程存储)
- 超越QQ Mail文件中转站---大文件上传设计思路和实践(一) 王泽宾
- PHP上传图片到数据库和存储到本地文件夹的方法
- Spring+SpringMVC+Mybatis整合百度富文本编辑器Ueditor,上传图片到阿里云OSS对象存储。
- 对象存储oss集成到thinkPHP,将图片上传到oss里面