实现自动更新文件

    老师让我做一个ocx控件,功能是:能够上传dll文件,并且当程序启动的时候,检测当前dll文件

版本是不是最新的,如果不是最新的就从数据库下载。

1 

第一步:在服务器数据库中建立一个表,保存dll文件及相关信息
T_MenuDllInfo(
ID,         int       4    //自动标识
DllFileName, varchar   20  //文件名
DllFileTime, datatime, 8   //文件最近更改时间
UpLoadUser,  varchar,  20    //登陆客户端的用户名
UpLoadTime,  datatime, 8    //上传时间  DateTime.Now.ToString()
FileContent, image,    16     //文件内容 二进制形式保存
);

2  控件功能:

(1)、客户端登陆后检测本地dll是否为最新的,如果不是就从服务器下载

(2)、客户端可以选择添加dll文件到服务器(只能上传最新的)(最初让数据库中信息为空,直接上传)

 

为了实现以上的功能,需要很多函数,下面给出一些函数的源代码:

 public string GetFilePath() //通过打开对话框得到文件路径
        {
            string filepath="";
            OpenFileDialog openfiledlg = new OpenFileDialog();
            if (openfiledlg.ShowDialog() == DialogResult.OK)
            {
                filepath = openfiledlg.FileName;
            }
            return filepath;            
        }
public Byte[] GetBytes(string filepath)  //将某路径下的文件 转化为 二进制代码 
{           
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
 //打开文件流            
Byte[] byData = new Byte[fs.Length]; //保存文件的字节数组
fs.Read(byData, 0, byData.Length); //读取文件流
fs.Close();
return byData;
}

 

 

 

posted @ 2012-05-18 16:38  金河  阅读(520)  评论(0编辑  收藏  举报