如何使用AspUpload组件上传文件

发布时间:2007年10月08日      浏览次数:1570 次
如何使用AspUpload组件上传文件
使用AspUpload组件上传文件,使用范例代码如下:
AspUpload组件上传测试
<form method="POST" enctype="multipart/form-data" action="?act=upload">
<input type="file" size="40" name="file1"><br>
<!--<input type="file" size="40" name="file2"><br>
<input type="file" size="40" name="file3"><br>-->
<br>其他表单项<input type="text" name="uploadText" value=""><br>
<br><input type="submit" value="上传文件">
</form>
<%
if request("act") = "upload" then
AllowExt = "jpg,png,gif,zip,rar,sql,txt,bak"
On Error Resume Next
' 新建AspUpload对象
Set Upload = Server.CreateObject("Persits.Upload")
' 限制文件大小
Upload.SetMaxSize 4194304, True
' 上传路径--当前目录下的test目录
uploadDir = Server.MapPath("test")
' 尝试创建路径文件夹,true表示忽略目录已存在错误
Upload.CreateDirectory uploadDir, true
' 先上传文件至服务器内存
Count = Upload.Save()
' 检测上传错误
If Err.Number = 8 Then
Response.Write chinese2unicode("错误: 文件过大!")
Response.end
Else
If Err <> 0 Then
response.write chinese2unicode("发生错误:")
response.write chinese2unicode(Err.Description)
response.end
End If
End If
'Response.Write chinese2unicode("共 " & Count & " 个文件") & "<br><br>"
' 指定一个上传的表单文件
Set File = Upload.Files("file1")
If Not File Is Nothing Then
' 获取原本文件名
Filename = File.Filename
' 获取文件扩展名
Fileext = File.Ext
' 检测文件格式是否合格
ChkStr = ","&Lcase(AllowExt)&","
If Instr(ChkStr,","&right(Fileext,3)&",") <= 0 Then
Response.Write chinese2unicode("错误: 文件类型不正确!")
response.write "<br>"
response.write chinese2unicode("只允许:"&AllowExt)
' 删除内存中的临时文件,以释放内存或硬盘空间(还可用Copy、Move两个指令)
File.Delete
' 检测是否存在文件
elseif Upload.FileExists(uploadDir & "\" & Filename) Then
File.SaveAs uploadDir & "\" & Filename
Response.Write chinese2unicode("已覆盖存在相同文件名的文件: ") & File.Path
' 保存文件
else
File.SaveAs uploadDir & "\" & Filename
Response.Write chinese2unicode("文件已保存到: ") & File.Path
end If
Else
Response.Write chinese2unicode("错误: 您并没有选择文件!")
End If
Response.Write "<br><br>"
'' 批量上传文件,去掉注释即可用。
For Each File in Upload.Files
'File.SaveAs uploadDir & "\" & File.FileName
'Response.Write chinese2unicode("文件已保存到: ") & File.Path & "<br>"
Next
'Response.Write "<br><br>Files:<br>"
For Each File in Upload.Files
'Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<br>"
Next
'' 列出其他表单内容(必须执行Upload.Save()后才有效)
For Each Item in Upload.Form
Response.Write Item.Name & " = " & Item.Value & "<br>"
Next
'列出指定的表单内容
Response.Write "<br>"&chinese2unicode("列出指定内容uploadText:"&Upload.Form("uploadText").value)

end if

' gb2312转unicode,解决中文乱码问题
function chinese2unicode(Str)
dim i
dim Str_one
dim Str_unicode
for i=1 to len(Str)
Str_one=Mid(Str,i,1)
Str_unicode=Str_unicode&chr(38)
Str_unicode=Str_unicode&chr(35)
Str_unicode=Str_unicode&chr(120)
Str_unicode=Str_unicode& Hex(ascw(Str_one))
Str_unicode=Str_unicode&chr(59)
next
Response.Write Str_unicode
end function
%>
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!