资源介绍
<% For Each File in Upload.Files Response.Write File.Name & "= " & File.Path & " (" & File.Size &")
" Next %>
Otheritems:
<%
For Each Item in Upload.Form
Response.Write Item.Name & "= " & Item.Value &"
"
Next
%>
注意:我们的html Form现在有两种输入框,type=file和type=text。因为我们的表单使用了enctype属性,我们可以不再直接通过标准的ASP Request对象方法访问表单变量。 Form集合,由Upload.Form集合来代替。这个集合就等同Request.Form.也就是说,我们可以通过整数或字符串索引访问它的元素,例如:Set Item1 = Upload.Form("DESCR1")
或
Set Item1 = Upload.Form(1).
我们也可以像上面的例子那样使用For-Each语句,遍历集合中的所有元素。Form集合包含的类型为FormItem的对象,只有2个字符串的属性,Name和Value(缺省属性)
请记住,upload.Form集合只包括非文件的项目,也就是说非的表单项目。我们还有另外一个集合,叫Files,包含类型为UploadFile的对象,代表了从上传的文件。Files很像Form集合,Files集合也可以使用字符串或者索引访问,或者通过 For-Each语句(如上面所示)
在运行了例子2之后,我们就会看到像这样的东西:
Files:
FILE1=c:\upload\File1.xls (108544)
FILE2=c:\upload\File2.zip (211687)
Other items:
DESCR1=bla bla
DESCR2=test test
注意:我们已经通过UploadFile对象的Path和size属性获得目的路径和上传文件的大小N
如果我们的表单只含有一个文件输入框,如:,那么就用不着使用for-each语句,我们可以简单这么写:
Response.Write Upload.Files("ONLYFILE").Path
或者更通常的可以用
Response.Write Upload.Files(1).Path
注意:除非Save方法被调用,否则Files和Form集合都是无效的。在调用Upload.Save之前调用,是错误的
' 错误!
Upload.Save( Upload.Form("Path") )
文件大小设定限制
假定你需要限制上传文件的大小,以便防止不符责任的用户消耗你的硬盘空间。你需要做的只是在调用Save之前,使用SetMaxSize方法。
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 50000, False
Upload.Save "c:\upload"
在这个例子里面我们限制了上传文件为50000字节。这个可选的第二个参数指定是否一个文件大于最大字节数时候是被截断。(如果设置为fase,或者忽略。)或者遇上错误就放弃(如果设置发false)强制