ASPUpload上传文件简明教程

2010年9月28日 | ASP功能代码 | Tags ASPUpload   | Views

一、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
%>
看了这篇文章如果对您有帮助,请点评一下吧(我会回访的∧_∧)。您的鼓励让我更努力!

 

相关文章:
  1. #2 小赵 2012-2-18 17:58:42
    能再清楚点吗,我看不太懂
  1. #1 小赵 2012-2-18 17:55:52
    能再详细点吗,比如数据库的名字,表的名字,文件的名字,都清楚点,我看不太懂

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。