写道
任务分析:
1. 对网站中所有上传的文件提供一个独立的管理界面
2. 对上传的文件类型做区分,不同的文件类型提供不同的处理方案
1. 文件类型: [限定可上传的文件类型,诸如: jpg,gif,rar,pdf 等等的格式]
2. 不同的文件类型其存放目录不一样
3. 数据表记录
1. 附件的原始名称,文件类型,上传/替换时间,被引用位置,提示文字等等
4. 交叉引用的删除管理方案 [待讨论]
1. 与所属模块[比如文章]绑定,文章删除时将删除所属附件
优点: 节省服务器上的存储空间
缺点:
1. A,B页面都引用了隶属A页面的某个附件,当A页删除时,B页面存在数据缺失的问题
2. 要与所有需要上传功能的模块[比如文章]进行集成,要增加额外的数据库表和逻辑控制代码
2. 不与所属文章绑定,由管理员手动删除
优点: 不容易由程序造成数据缺失,模块独立化.
缺点: 增加服务器上的存储空间
3. 可控模式下的半自动管理[这个是整理出来的解决方案]
设计思路:
1. 使用两张数据库表实现
attach {id,name,ref_count,store_path,raw_name,alter,ftype,fsize,create_at}
attachref {rid,attach_id}
2. 使用一个计数器来计算附件的被引用次数,附件上传时该计数器为0,每当附件被引用时自动对计数器加1.
比如在A页面中加入一张已经被上传的图片,则向数据库表中的该图片所对应的 计数器做+1运算,删除时-1.
3. 如果模块需要上传功能,则要实现程序定义的接口xser_iupload.要求实现唯一的attachref.rid.
例如:
1. 当在A页面中加入一张已经被上传的图片附件时此时并不会立即提交到后台,而是附加到当前表单中,
并动态生成一个表单隐藏字段attachref,其值是以逗号分隔的附件id集合.
2. 数据提交到后台,程序生成唯一对应于A页面的attachref.rid,此时对表单隐藏字段attachref中的值
进行分解,对attach表中的ref_count字段做+1运算,对attachref表做插入操作.
3. 当对A页面做删除操作时,要求在最后调用xser_iupload的数据清理函数,根据对应的attachref.rid
查找attachref表中所有的attach_id,并删除,然后根据这些attach_id对attach表中的字段做-1运算.
4. 删除功能: 4中并不对数据进行真实的删除操作,只是管理交叉引用的问题
1. 按上传时间查找删除,如果引用计数不为0则报提示
2. 批量删除
分享到:
相关推荐
今天整理了一个jsp附件上传模块,结合jquery Uploadify插件,可以一次性上传多个附件,而且自带上传进度功能,非常漂亮的界面和强大的功能。 Uploadify插件是由国外开发的一个jquery插件,功能非常的齐全,包括同时...
"jsp实现附件上传功能源码-基础源码" 这个标题指出,我们关注的是一个使用JSP技术实现的附件上传功能。JSP(JavaServer Pages)是Java平台上的一种动态网页技术,它允许开发人员在HTML页面中嵌入Java代码,以实现...
无组件上传模块就是利用这一特性,通过JavaScript和Ajax实现文件选择、预览、进度显示等功能,然后通过POST请求将文件数据发送到服务器。 3. **自定义上传路径**:在ASP环境中,开发者可以通过编程设定上传文件的...
总结来说,"layui多附件上传.rar"是一个包含完整功能的多文件上传解决方案,它利用layui的upload模块实现了前端交互,并且提供了完善的后台操作。对于需要在项目中集成多文件上传功能的开发者,这是一个值得参考和...
在本案例中,提供的压缩包文件"phpcmsh5"可能包含了已修改的文件,只需解压并将这些文件覆盖到你的PHPCMS安装目录,即可实现H5附件上传功能。 通过以上步骤,你可以成功地将PHPCMS的Flash附件上传功能升级为H5上传...
【标题】"v9修改flash附件上传为h5上传.zip"是一个针对PHPCMS V9内容管理系统(CMS)的更新包,旨在解决由于谷歌浏览器不再支持Flash导致的附件上传问题。Flash技术在过去常用于网页上的多媒体内容展示和交互,包括...
在IT领域,尤其是在Web开发中,"实现多附件上传"是一项常见的需求,它涉及到前端与后端的交互、文件处理以及存储策略等多个方面。这里,我们将深入探讨如何实现这一功能,以及相关的技术点。 首先,我们需要理解...
在IT行业中,大附件上传是许多应用程序和网络服务的...综上所述,实现“大附件上传支持2G文件”涉及到后端服务器配置、前端Flash组件的使用,以及一系列优化策略,旨在提供稳定、安全且用户体验良好的文件上传服务。
总的来说,WebUpload作为一个高效的前端附件上传解决方案,不仅简化了开发过程,还提供了丰富的定制选项,使得开发者可以根据项目需求创建出符合用户体验的文件上传功能。无论是个人项目还是企业级应用,WebUpload都...
附件上传功能涉及的主要模块包括用户模块、附件模块和数据库操作。因此,我们需要修改或添加对应的PHP代码来实现这一功能。 接下来,我们要对`post_fastattach`这个文件进行分析。`post_fastattach`通常用于处理...
4.2 大附件上传模块设计 4.3 目录服务管理模块设计 4.4 数据存储模块设计 4.5 系统安全设计 4.6 系统实现关键技术 第五章 系统测试与分析 5.1 测试环境与工具 5.2 功能测试 5.3 性能测试 5.4 安全测试 5.5 测试结果...
- 介绍了如何在WEB端集成附件管理的功能,可能包括如何在WEB应用中嵌入附件上传、下载、管理等界面和功能。 以上信息可作为开发人员在EAS Bos系统中实现附件管理功能的参考。在进行附件管理的开发工作时,了解这些...
在Java/JSP上传模块中,主要涉及的技术点包括: 1. **文件上传组件**:通常使用Apache的Commons FileUpload库来处理文件上传。该库提供了解析HTTP请求中的多部分数据的能力,能够将上传的文件以`Part`或`FileItem`...
在Qt框架中实现SMTP邮件上传模块,可以让我们利用C++编写的应用程序发送电子邮件,包括添加附件。 首先,理解SMTP的工作原理至关重要。SMTP服务器接收发件人的邮件,并负责将邮件转发到收件人的邮箱。发送邮件的...
综上所述,"asp文件上传下载模块(完全能实现)"是一个涵盖多个技术层面的Web功能,包括文件传输协议、服务器端脚本编程、安全性控制以及用户交互体验优化。通过理解这些知识点,开发者可以构建出安全、高效且易用的...
在“使用layui实现多文件列表上传”这个项目中,主要涉及到了layui的文件上传功能,这在网页应用中是非常常见且实用的功能,尤其对于需要用户提交多份文件的场景。 首先,layui的文件上传组件是基于HTML5的File API...
在PHP编程领域,上传和下载模块是常见的功能需求,尤其对于构建交互性强的Web应用程序至关重要。这个PHP上传下载模块提供了一套完整的解决方案,方便开发者快速集成到自己的项目中。下面将详细阐述该模块的核心知识...
在“layui附件上传进度条.zip”项目中,我们看到的关键点是“多文件上传”和“实时进度条”。多文件上传允许用户一次性选择并上传多个文件,这通常需要利用HTML5的`<input type="file" multiple>`属性来实现。LayUI...
在这个"jsp的文件上传下载模块"中,我们将深入探讨如何利用JSP实现文件上传与下载的功能,这是许多Web应用中的常见需求,比如用户个人资料的附件上传、在线文档分享等。 一、文件上传 1. **表单设计**:首先,我们...
3.2 for SAE:终极公测版与附件上传功能解析》 Discuz! 是一款广泛使用的论坛软件,它以其强大的社区构建功能和易用性深受用户喜爱。而Discuz! 3.2 for SAE是专为新浪云(Sina App Engine, SAE)优化的版本,旨在...