摘要:
在文件上传下载这个例子中的委托与事件,主要是用于窗体与类之间的交互,在主窗体中定义了FileInfo类的对象fileInfo,当开始上传的时候,主窗体的进度条要根据finleInfo读写的进度进行相应的变化,此处就用到了委托与事件。先看下过程:先在FileInfo类中定义委托,并用委托定义事件public delegate void FileTranEventHandler(object sender, EventArgs e);//定义委托public event FileTranEventHandler FileBuffer;//写完一块触发的事件当点击上传按钮时,当事件的处理方法绑定到. 阅读全文
摘要:
前几天做了个文件上传下载的例子,就是对Blob对象的上传下载,现把其中遇到的问题以及解决方法在这里再顺一遍。 大家都知道我们的文件是保存在硬盘,也就是外存中的,那我们在上传的时候就要先把文件调入到内存。而内存的容量是有限的,如果我们的文件过于庞大,就会占用太多的内存,所以我们就要把文件分块,然后再把文件一块一块的读入到内存缓冲区中,然后再把缓冲区中的数据读到数据库Blob对象里。那这个Blob对象又是哪来的呢,这就要求我们先向数据库中注册文件的其它信息,包括文件名,文件类型,上传时间等信息,然后同时返回Blob对象名。所以我们需要建一个类来保存文件的信息,以及控制对文件的读写。好,上传大概.. 阅读全文