一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

ASP无组件上传?从原理剖析到实践(中)

时间:2008-01-18 编辑:简简单单 来源:一聚教程网

第五天:得到文件单元
今天我们要进行的部分,是比较有趣味性地――得到文件内容。其实,看看我们的要处理的数据,再看看前天文本单元的处理,相信大家也会心中有数。
为了清晰的区分文件和文本单元,这一次,我们用ourRequest.file(index)来对应文本单元的ourRequest.form(index)。当然,因为对于文件,我们需要得到的信息不同于文本,所以这次得到的,也不会是FormElement,而是一个新对象FileElement。
文件单元和文本单元在原始数据上,不同点少得可怜:
1。第一行多了一个filename="xxx"模块;
2。多了一个用于指示contentType的第二行。
感兴趣的目标信息不同,所以,得到的对象FileElement也和FormElement有一些不同点:
1。不需要count属性(不存在checkbox情况);
2。不需要Item(index)(同上,不存在checkbox情况);
3。需要一个ContentType属性;
4。需要一个FilePath属性;
5。需要一个FileName属性;
6。需要一个Size属性;
7。因为需要的是二进制,所以,没有必要进行二进制=>字符串的转换;
8。因为需要的是二进制,所以,属性Value改成Data更合适
此外,UploadRequest也应该相应的添加Files属性、Form(index)方法、以及m_dicFiles成员。现在,我们就来扩充他:
A。UploadRequest(上面设计过,这里是扩充)
这个类和request对象是对应的
属性:
RawData 得到原始数据,方便检查[只读]
Forms 得到一个有count属性的计数器,
可以用outRequest.Forms.Count的方式,得到文本表单域的的个数[只读]
Files 得到一个有count属性的计数器,
可以用outRequest.Files.Count的方式,得到文件表单域的的个数[只读]
Form(index) 可以用数字或文本检索文本表单域,做用类似request.form。
他返回一个FormElement型的对象
File(index) 可以用数字或文本检索文件表单域,他返回一个FileElement型的对象
B。FileElement
可以把它看成单个文件域的化身。通过这个类,可以得到详细的文件信息,比如name,data,path,filename,contentType,size等等。
属性:
Name 文件域的名称。就是里的xxx
Data 文件域的内容。二进制串
ContentType 文件域的contentType

热门栏目