又找了一天的大文件上传的资料,结果呢,比前几次要好一些。
先给这个网站:
http://ugoer.cnblogs.com/archive/2005/09/06/230917.html
说的很清楚呀。
自己也记录了一些内容:
1、HttpContext类实现了IServerviceProvider接口,因些应该先了解一下该接口。详细说明可以查看MSDN。其实它只有一个公共方法:GetService()
例:
HttpWorkerRequest m_workRequest = (HttpWorkerRequest)((ISericePrivider)HttpCOntext.Current).GetService(typeof(HttpWorkerRequest ));
2、HttpContext类,它包含了一个HTTP请求的信息,我们的上传数据要从这里取得。
例:
public class WebbUpload(){
HttpContext m_request;
public WebbUpload(){
m_request = HttpContext.Current;
}
public string GetRequestTime(){
return m_request.Timestamp.TolongTimeString();
}
}
3、以上的转换都是可以成功的,那么HttpWorkerRequest类又为我们提供了什么呢?
GetPrdloadedEntityBody()方法可以取得用扁提交上来的所有数据。确切的说是已经读了的部份。做了一个小测试,得到了HTTP请求的头信息。
IsEntireEntityBodyIspreloaded()方法,该方法返回bool值,指示是否所有请求数据都可用,以及是否不需要对客户进行进一步的数据读取。
利用ReadEntityBody()方法,读取客户端的请求数据(在尚未加载时);正因为如此,必须在自己的应用程序中加载自己定义的HttpModuld.
4、最后的问题就是在于自己分析从客户端取得的数据了。
文章来源:http://computer.mblogger.cn/wucountry/posts/48094.aspx