当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

Asp.NET大文件上传开发总结(二)

欢迎进入.NET社区论坛,与200万技术人员互动交流 >>进入

  为了提供文件内容,我们需要首先需确定客户请求中发送的有文件内容,然后确定文件内容的位置。这部分对应的代码如下:

1HttpApplication app = sender as HttpApplication;
2            HttpWorkerRequest request = GetWorkerRequest(app.Context);
3           
4            if (!IsUploadRequest(app.Request)) return; //不是文件上传,则退出
5           
6            string sContentType = app.Request.ContentType.ToLower();
7            byte[] arrBoundary = GetMultipartBoundary(sContentType);
8            int ContentLength = app.Request.ContentLength; //信息体的总长度
9
10            DataReader dataReader = new DataReader(app.Context.Request.ContentEncoding,

arrBoundary);
11            DateTime startDate = DateTime.Now;
12            byte[] arrBuffer = request.GetPreloadedEntityBody();
13            if (arrBuffer == null)
14            {
15                arrBuffer = new Byte[0];
16                tempFile.Close();
17                return; //没有读取到信息体
18            }
19            else
20            {
21             这里是对文件内容的处理
22            }

  上面的代码中,我们先获取Asp.NET对客户端请求的处理对象HttpWorkerRequest,然后根据这个对象的ContentType属性是否为multipart/form-data来确定对应的请求是否有上传文件,如果没有上传文件,就不处理此请求,以提高处理效率。这样处理的依据是,在有文件上传的HTML Form中,对应的enctype属性为multipart/form-data。这样就解决了确定客户端请求中是否发送有文件内容。

 

相关内容
赞助商链接