浅析基于.NET技术的文件上传
2010-06-13迟江波
迟江波
新疆轻工职业技术学院,新疆乌鲁木齐 830021
浅析基于.NET技术的文件上传
迟江波
新疆轻工职业技术学院,新疆乌鲁木齐 830021
多媒体视频点播系统中,上传的问题很重要,只有提供丰富的资源,才能满足用户需求。而.Net技术为解决这一问题提供了一种新的方法和途径。
.Net;大文件 ;上传
视频点播系统中,上传的问题很重要,只有提供丰富的资源,才能满足用户需求。而.Net技术为解决这一问题提供了一种新的方法和途径,尤其是大文件和多文件上传方面,.Net技术存在一定的技术优势,这里进行简单的讨论。
1 文件上传的两种方式
RFC1867是各种类型文件上传中较好的方法。RFC1867主要是在HTTP的基础上为INPUT增加了file属性,同时限定了Form的method必须为POST,ENCTYPE必须为multipart/form-data,具有很好的封装性。
1.1 一次性上传的数据
用这种方法需修改程序所在目录下的Web.config,调整上传文件的大小限制,即maxRequestLength="102400",代码如下:
1.2 边读边写
当文件大于100Mb,可编写自定义HttpModule,代码如下:
1.3 文件上传的相关函数
2 基于.Net的文件上传的实现
2.1 同步模式上传
对数据流操作主要是FileStream、BinaryReader和BinaryWriter3个类,这3个类都提供同步、异步模式来存取文件数据流,根据大文件特点,给出如下算法:
获取 file’sname;
获取 updata Addr,判断DIR,若无,创建DIR;
检查file是否非法,非法退出;
调用杀毒程序查毒;
判断Server空间,无空间,退出;
检查file是否重名,重名Rname,否则替换;
判断file,<100Mb则一次性上传,打开DB,上传数据后关闭;
若<100Mb且<500Mb则启动边读边写,打开DB,上传数据后关闭;> 500Mb退出。
2.2 异步模式上传
异步模式上传是将bit分组进行传递,受网络因素影响低,可实现断点续传,
文件分割算法代码如下:
3 结论
基于.Net技术的文件上传算法在点播管理系统中得到了很好的应用,取得了较好的效果,为站点及用户提供了很好的技术支持。
[1]戚艳军.多文件上传在Web应用中的实现方法研究.
[2]孙占东.用ASP实现无组件的文件上传.
TP37
A
1674-6708(2010)23-0208-01