一个文件上传与下载的UserControl

来源:互联网 发布:数据库理论试题及答案 编辑:程序博客网 时间:2024/04/20 05:56

说明:
首先建立一个数据表: UpLoadTb  结构如下:

字段描述
IDidentity列,作为记录的唯一表示
ProcInstID流程实例ID号
EmpID上传人ID
FileName文件名称
UpLoadTime文件上传时间
FilePath文件所在的物理路径(含文件名)

另外实际我们需要上传人的中文姓名. 这里建一个对应表: Sys_Employee
字段描述
EmpID用户ID
EmpName用户中文姓名

Web.config文件下<appSettings>节点下增加:

<!-- 项目所在的虚拟路径 -->
        
<add key="Path" value="http://localhost:8081/camc.workflow.businessflow/"></add>
        
<!-- 上传文件的文件夹名称-->
        
<add key="UpFileFolder" value="Temp"></add>
        
        
<!-- 允许上传的文件类型-->
        
<add key="UpFileType" value=".gif,.jpg,.jpeg,.bmp,.png,.rar,.doc,.ppt,.zip,.xls,.dbm,.txt,.htm,"></add>
        
<!-- 允许上传的文件的大小(单位是M)-->
        
<add key="UpFileMaxSize" value="20">

原则是获取当前项目的物理路径,并创建文件夹Temp. 程序中会在Temp下按参数(我这里是流程名)建立文件夹,再按日期建文件夹(...Temp/流程名/日期/), 上传的文件按此分类存储.                         
上传时更改文件名为随机数(目的是防止其他用户恶意破坏文件).
下载时根据数据库中已存储的文件物理路径以及文件名下载到客户端.
同时还可以根据向这个UserControl传递的参数显示"删除"按钮以实现删除功能(物理文件以及数据记录)
UserControl源文件: UpLoadFile.rar
测试文件aspx:
声名UserControl :protected camc.workflow.businessflow.Files.UpLoadFile UpLoadFile;    
Page_Load内传递参数:

为文件上传控件提供所需参数

 注意:在实际的项目应用中我们要在模式窗口下使用,不知道什么原因始终下载不了文件.
最后使用window.open解决了问题.
项目源文件UpLoad_Load_File,可能这个才是大家需要的东西吧,希望对大家有所帮助.


文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有
原创粉丝点击