马上要过年了,现在也没有什么事情要做,今天就给大家讲讲基于WebService的文件上传,和下载,其实我们只是通过WebService来实现文件流的传输
下面说说我设计的文件上传系统
需求:
1.要可定制文件策略,也就是我可以允许系统上传什么格式的文件,每个格式文件允许多大 ,这些都可以通过后台来设定
2.上传文件的存储位置要支持多种,以便以后有所变动,目前支持有:数据库,Ftp,磁盘 三种存储介质
3. 更新同一个文件的时候,文件版本号自动变动,例如A文件 V1.0再次更新文件后版本号自动变为V1.1
4.文件被下载的时候,要有下载日志 ,用于记录文件的那个版本都被什么人下载过
数据库设计:
Files 文件表, 用于记录文件的主要信息,文件名,大小,版本号,上传人等信息
FileUpStrategy 文件上传策略表,用于设定可以上传的文件类型,大小等信息
FileContent 文件内容,用于支持数据库存储
FileContentType 文件内容类型 ,用于输出正确的文件流,例如:pdf格式的文件,内容类型 application/pdf 这个要在 Response.ContentType进行指定
FileDownLog 文件下载日志,用于记录下载日志的一些信息
FileScope 文件作用范围,这个标明文件的用途,可以和权限系统联系在一起,那个部门可以上传什么用途的文件
关键代码:
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)