一、ASPUpload常用属性和方法(本次使用为v3.0.0.5 特别版) 上传文件组件的属性: | 名称 | 说明 | | OverwriteFiles | 是否覆盖文件 | 上传组件的方法: | 名称 | 说明 | 备注 | | Save | 保存文件 | 既是子过程又是函数过程。子过程有参数则传至服务器,无参数传至服务器内容中;函数过程返回的是上传文件数量。 | | SetMaxsize | 设置上传文件最大字节数 | 使用方法:SetMaxsize 1024,True 说明:最大字节1024,显示错误信息,若为 False则截断文件大小,不显示错误信息。 | | Form | 获取上传表单元素对象 | – | | Files | 获取上传文件对象 | – | 上传文件的属性: | 名称 | 说明 | | Name | 表单名称 | | FileName | 文件名 | | Path | 在服务器端路径 | | Size | 文件大小,单位:字节 | | Ext | 扩展名 | 上传文件的方法: | 名称 | 说明 | | SaveAs | 文件另存为 | | ToDatabase | 将文件保存至数据库 | 上传表单元素的属性: | 名称 | 说明 | | Name | 表单名称 | | Value | 表单的值 | 二、应用举例 将文件上传至服务器分成两种情况:按原有文件名保存和重命名保存,两种保存方法不太一样,下面举两例分别说明,上传表单统一为: 程序代码 <form action=”save.asp” method=”post” enctype=”multipart/form-data” name=”form1″ id=”form1″> text1: <input name=”text1″ type=”text” id=”text1″ /> <br /> file1: <input name=”file1″ type=”file” id=”file1″ /> <br /> text2: <input name=”text2″ type=”text” id=”text2″ /> <br /> file2: <input type=”file” name=”file2″ /> <input type=”submit” name=”Submit” value=”提交” /> <br /> </form> 1.原文件名保存 程序代码 <% On error resume Next Dim Upload Set Upload = Server.CreateObject(“Persits.Upload”) Upload.OverwriteFiles = True Upload.SetMaxsize 10*1024*1024,True Upload.save Server.mappath(“.”) ‘保存文件,改为count=Upload.save(path)可返回上传文件数量 If err.number=8 Then Response.write “文件大小超过限制!” Response.End() End if ‘显示信息方法一:根据表单名称 Response.Write(“<br/>————————————–方法一————————————<br/>”) Response.Write(“获取表单值:<br/>”) Response.Write(“text1:<br/>” & Upload.Form(“text1”).name & “=” & Upload.Form(“text1”).value & “<br/>”) Response.Write(“text2:<br/>” & Upload.Form(“text2”).name & “=” & Upload.Form(“text2”).value & “<br/>”) Response.Write(“<br/>”) Response.Write(“获取文件信息:<br/>”) Response.Write(“file1:<br/>” & ” 表单名字:” & Upload.Files(“file1”).name & “<br/>”) Response.Write(” 上传路径:” & Upload.Files(“file1”).path & “<br/>”) Response.Write(” 文件名字:” & Upload.Files(“file1”).filename & “<br/>”) Response.Write(” 文件大小:” & Upload.Files(“file1”).size & “字节<br/>”) Response.Write(” 扩展名:” & Upload.Files(“file1”).Ext & “<br/>”) Response.Write(“file2:<br/>” & ” 表单名字:” & Upload.Files(“file2”).name & “<br/>”) Response.Write(” 上传路径:” & Upload.Files(“file2”).path & “<br/>”) Response.Write(” 文件名字:” & Upload.Files(“file2”).filename & “<br/>”) Response.Write(” 文件大小:” & Upload.Files(“file2”).size & “字节<br/>”) Response.Write(” 扩展名:” & Upload.Files(“file2”).Ext & “<br/>”) ‘显示信息方法二:使用For each … in Response.Write(“<br/>————————————–方法二————————————<br/>”) Response.Write(“获取表单值:<br/>”) For each MyForm in Upload.Form Response.Write(“表单:<br/>” & MyForm.name & “=” & MyForm.value & “<br/>”) Next Response.Write(“<br/>”) Response.Write(“获取文件信息:<br/>”) For each MyFiles in Upload.Files Response.Write(“文件:<br/>” & ” 表单名字:” & MyFiles.name & “<br/>”) Response.Write(” 上传路径:” & MyFiles.path & “<br/>”) Response.Write(” 文件名字:” & MyFiles.filename & “<br/>”) Response.Write(” 文件大小:” & MyFiles.size & “字节<br/>”) Response.Write(” 扩展名:” & MyFiles.Ext & “<br/>”) Next Set Upload = nothing %> 2.重命名保存 程序代码 <% On error resume Next Dim Upload Set Upload = Server.CreateObject(“Persits.Upload”) Upload.OverwriteFiles = True Upload.SetMaxsize 10*1024*1024,True Upload.save() ‘先将文件保存到内存,改为count=Upload.save()可返回上传文件数量 If err.number=8 Then Response.write “文件大小超过限制!” Response.End() End if Dim newname ‘保存方法一:根据表单名称 ‘Set file1 = Upload.Files(“file1”) ‘newname = year(now()) & month(now()) & day(now()) & hour(now()) & minute(now()) & second(now()) ‘file1.SaveAs Server.MapPath(“.”) & “/” & newname & file1.Ext ‘Set file1 = nothing ‘保存方法二:使用For each … in For each MyFiles in Upload.Files newname = year(now()) & month(now()) & day(now()) & hour(now()) & minute(now()) & second(now()) MyFiles.SaveAs Server.MapPath(“.”) & “/” & newname & MyFiles.Ext Next Set Upload = nothing %> 3.将文件保存至数据库中 程序代码 <% On error resume Next Dim Upload,Upfile Set Upload = Server.CreateObject(“Persits.Upload”) Upload.OverwriteFiles = True Upload.SetMaxsize 10*1024*1024,True Upload.save() ‘先将文件保存到内存,改为count=Upload.save()可返回上传文件数量 Set Upfile = Upload.Files(“file1”) If err.number=8 Then Response.write “文件大小超过限制!” Response.End() End if Dim strConn,strSql strConn = “Driver={Microsoft Access Driver (*.mdb)};Dbq=” & Server.MapPath(“db1.mdb”) strSql = “Insert into t7(f_name,f_size,f_file) values(‘” & Upfile.filename & “‘,'” & Upfile.size & “‘,?)” ‘OLE字段值用?代替 Upfile.ToDatabase strConn,strSql Set Upfile = nothing Set Upload = nothing %> |