文件预览系统
2015-06-15 08:59:49 1 举报
AI智能生成
单独部署用的文件预览系统结构。由客户端发起,服务器异步获取数据及转换,
作者其他创作
大纲/内容
客户端响应模块
响应客户预览请求
请求方式
文件数据
客户端直接向文件预览服务器传输文件数据,服务器获取或存入待处理数据
文件唯一标识
客户端向服务器提交文件MD5唯一标识,同时提供文件下载接口;
服务器通过MD5标识,判断服务器是否已处理该文件;若否,则向客户端索取文件
若已处理,则直接返回预览链接
从客户端获取文件数据
对数据进行入库处理
为客户端提供预览服务
对外提供预览文件接口
文件转换模块
将pdf文件转化成swf
将office文件转换成pdf
文件转换定时任务管理
利用数据列表对并发任务进行处理
数据库管理模块
文件数据管理
增删改查
数据库连接管理
数据表
id
使用uuid,同时将uuid作为存储文件时的文件名
MD5
文件原名
文件类型
文件储存路径
文件相对路径+id+文件类型
创建时间
文件处理状态
初始化
未下载
已下载
已转换pdf
已转换swf
文件下载地址
文件下载时间
pdf文件路径
pdf文件转换时间
swf文件路径
swf文件转换时间
错误原因记录
记录处理报错时的原因
系统其他数据管理
系统常量
通用方法
系统说明
客户请求
demo页面:apply.jsp
客户请求类型
提交文件信息
需要参数
可下载文件url
url将作为唯一标识存入数据库
避免出现url重复
同时只允许有一条状态不为"处理错误"状态的数据
url重复处理
处理更新第一条状态不为“处理错误”状态的数据
是否强制下载参数
文件名
文件类型
一定要与实际类型符合,否则会出现扩展名被修改,文件无法使用
上传文件(未提供)
判断系统是否已缓存文件[1]
是
通过url查询出文件状态不为“处理错误”的文件数据
否
url无结果
结果状态为“处理错误”
判断是否强制下载[2]
是
强制下载参数为 'true'
否
未使用强制下载参数
强制下载参数为'false'
判断传入参数完整性[3]
url非空
文件名非空
系统处理
下载
下载结果判定[4]
文件过大,下载失败
文件下载超时,判为下载失败
进入系统前重置全部状态为正在下载的文件为“未下载”
大文件处理
flexpaper分页加载
0 条评论
下一页