本例使用稻香老农的无组件上传类进行多文件和表单项的混合上传。
大家可以根据自己的实际情况进行修改。
简单说明:
本例是相册里像片的上传。
其中的groupID是隐藏域传递的大类的ID
其中的albumID是隐藏域传递的小类的ID
file1-->>file5是文件
photoTitle1-->>photoTitle5 是像片的标题
photoIntro1-->>photoIntro5 是像片的简介
photoWidth1-->>photoWidth5 是像片的宽度
photoHeight1-->>photoHeigth5 是像片的高度
photoSize1-->>photoSize5 是像片的大小。
提交页面
=============
请见
www.blueidea.com/bbs/newsdetail.asp?id=1249224&posts=current
==================================================
处理页面
====================================
<%@ CODEPAGE="936"%>
<%
Server.ScriptTimeOut=5000
'--脚本超时设置为5000
%>
<!--#include file="conn.asp" -->
<!--#include FILE="upload_5xsoft.inc"-->
<%
set upload=new upload_5xsoft
'建立上传对象
formPath="upfile/"
'--上传路径
upFileSize=1048576
'设置文件限制为1M
iCount=0
'--上传文件个数的计数
'-----------检查是否有在此位置上传的权限--------这里省略。。。。
groupID=trim(upload.form("groupID"))
albumID=trim(upload.form("albumID"))
'-----------检查权限完成------
if errMsg="" then
'--如果以上的检查没有错误,那么继续
for each formName in upload.objFile
'列出所有上传了的文件
set file=upload.file(formName)
'生成一个文件对象
if file.FileSize>0 then
'如果 FileSize > 0 说明有文件数据
fileOK=1
fileExt=lcase(right(file.Filename,4))
'===================检查后缀名=====
if LCase(fileEXT)<>".gif" and LCase(fileEXT)<>".jpg" and LCase(fileEXT)<>".bmp" and LCase(fileEXT)<>".png" then
errMsg=errMsg+"文件:"&file.Filename&" 不是图片文件!<br>"
fileOK=0
end if
'==========检查文件大小=====
if file.FileSize>upFileSize then
errMsg=errMsg+"文件:"&file.Filename&" 的大小大于"&upFileSize\1024&"KB!<br>"
fileOK=0
end if
if fileOK=1 then
'--如果通过检查,那么保存文件
randomize
ranNum=int(900*rnd)+100
filename=year(now())&month(now())&day(now())&hour(now())&minute(now())&second(now())&ranNum&fileExt
file.SaveAs Server.mappath(formPath&filename)
'让文件名不重复,保存文件
'===添加文件的信息到数据库里===
myIndex=right(formName,1)
'--取得序号,如file1取得为1,file2取得为2
temp_photoTitle=upload.form("photoTitle"+myIndex)
'--这四行取得文件对应的标题,简介,宽度,高度等
temp_photoIntro=upload.form("photoIntro"+myIndex)
temp_photoWidth=upload.form("photoWidth"+myIndex)
temp_photoHeight=upload.form("photoHeight"+myIndex)
'========检查输入,为空则给初值===
temp_photoTitle=replace(trim(temp_photoTitle),"'","''")
if temp_photoTitle="" then
temp_photoTitle="没有填写"
end if
temp_photoIntro=replace(trim(temp_photoIntro),"'","''")
if temp_photoIntro="" then
temp_photoIntro="没有填写"
end if
if temp_photoWidth="" or not IsNumeric(temp_photoWidth) then
temp_photoWidth=160
end if
if temp_photoHeight="" or not IsNumeric(temp_photoHeight) then
temp_photoHeight=120
end if
'=======插入数据库===
sql="insert into TBL_PHOTO(albumID,groupID,userName,addTime,photoFilename,photoTitle,photoIntro,photoClick,photoSize,photoWidth,photoHeight,locked,viewPassword) values("&albumID&","&groupID&",'"&session("userName")&"','"&Now()&"','"&filename&"','"&temp_photoTitle&"','"&temp_photoIntro&"',1,"&file.FileSize&","&temp_photoWidth&","&temp_photoHeight&",'no','')"
conn.execute sql
sql="update TBL_ALBUM set photoCount=photoCount+1 where albumID="&albumID
conn.execute sql
sql="update TBL_GROUP set photoCount=photoCount+1 where groupID="&groupID
conn.execute sql
'======输出上传成功信息===
response.write file.FilePath&file.FileName&" ("&file.FileSize&") => "&filename&" 成功!<br>"
iCount=iCount+1
end if
end if
set file=nothing
next
end if
set upload=nothing
''删除此对象
response.write "<br>"&iCount&" 个文件上传结束!"
response.write "<br><a href='photo_listphoto.asp?albumID="&albumID&"'><B>返回相册</B></a>"
'=============如果有错,输出错误信息=========
if errMsg<>"" then
response.write "<br>"&errMsg
response.write "<INPUT type='button' onClick='history.go(-1)' value='返回' class='myInput'>"
end if
conn.close
set conn=nothing
%>