<%@ CODEPAGE="936"%> <% Server.ScriptTimeOut=5000 '--腳本超時(shí)設(shè)置為5000 %> <!--#include file="conn.asp" --> <% Set oFileUp = Server.CreateObject("SoftArtisans.FileUp") '--建立SA FileUp Object 'oFileUp.Path = Server.MapPath("/upfile/") '--我這里要自己定義文件名,所以沒(méi)有使用Path屬性,注意這句被注釋掉了。
strRestrictBy = "" '--文件驗(yàn)證方式,分為extension和ContentType iCount=0 '--文件上傳數(shù)的計(jì)數(shù)變量 formPath="upfile/" '文件保存位置 '-----------檢查是否有在此位置上傳的權(quán)限-----------這里省略了。 groupID=trim(oFileUp.form("groupID")) albumID=trim(oFileUp.form("albumID")) '-----------檢查權(quán)限完成------
if errMsg="" then '----如果到此還沒(méi)有錯(cuò)誤 For Each strFormElement In oFileUp.Form If IsObject(oFileUp.Form(strFormElement)) Then '如果是文件 If Not oFileUp.Form(strFormElement).IsEmpty Then '--文件不為空 flagOK=1 '--不是文件或文件大于限制,設(shè)置錯(cuò)誤信息 If oFileUp.Form(strFormElement).TotalBytes<100 Then flagOK=0 ElseIf oFileUp.Form(strFormElement).TotalBytes> upFileSize Then flagOK=0 errMsg=errMsg+"文件:" errMsg = errMsg & oFileUp.Form(strFormElement).UserFileName errMsg = errMsg & " 大于"&upFileSize\1024&"KB!<br>" Else If strRestrictBy = "extension" Then '--驗(yàn)證方式為擴(kuò)展名 strShortFileName = mid(oFileUp.Form(strFormElement).UserFileName,InStrRev(oFileUp.Form(strFormElement).UserFileName, "\")+1) '取得文件名 strExtension = Mid(strShortFileName, InStrRev(strShortFileName, ".")) '取得擴(kuò)展名 '======檢查后綴名==== Select Case LCase(strExtension) Case ".jpg", ".gif", ".bmp",".png" Case Else flagOK=0 oFileUp.Form(strFormElement).Delete Response.Write("<B>錯(cuò)誤:</B> 擴(kuò)展名為 <I>") Response.Write(strExtension) Response.Write ( "</I> 的文件不能被上傳。<BR>") End Select Else '--驗(yàn)證方式為MIME類(lèi)型 strContentType = oFileUp.Form(strFormElement).ContentType Select Case LCase(strContentType) Case "image/gif", "image/jpeg", "image/pjpeg" Case Else flagOK=0 oFileUp.Form(strFormElement).Delete Response.Write("<B>錯(cuò)誤:</B> MIME類(lèi)型為 <I>") Response.Write (strContentType) Response.Write ("</I> 的文件不能被上傳。<BR>") End Select End If '--end if 驗(yàn)證方式 End If 'end if 文件大小判斷
If flagOK=1 Then '如果文件通過(guò)檢查,保存文件,并插入數(shù)據(jù)庫(kù)紀(jì)錄 randomize ranNum=int(900*rnd)+100 filename=year(now())&month(now())&day(now()) filename = filename &hour(now())&minute(now()) filename = filename&second(now())&ranNum filename = filename&LCase(strExtension) oFileUp.Form(strFormElement).SaveInVirtual formPath&filename '讓文件名不重復(fù),保存文件,這里用的是SaveInVirtual方法 '--輸出服務(wù)器上的文件路徑 Response.Write oFileUp.Form(strFormElement).ServerName & ":ServerName<BR>" '--輸出客戶(hù)端的文件路徑 Response.Write "<BR><B>文件:</B>" Response.Write (oFileUp.Form(strFormElement).UserFileName) Response.Write "<BR>" '--輸出該文件的大小 Response.Write "<B>大。</B>"& Response.Write oFileUp.Form(strFormElement).TotalBytes Response.Write "<BR>" '===添加文件的信息到數(shù)據(jù)庫(kù)里=== myIndex=right(strFormElement,1) '--取得文件的序號(hào),如file1則取得為1,file2取得為2 temp_photoTitle=oFileUp.form("photoTitle"+myIndex) '--這四行取得對(duì)應(yīng)的標(biāo)題,簡(jiǎn)介,寬度,高度 temp_photoIntro=oFileUp.form("photoIntro"+myIndex) temp_photoWidth=oFileUp.form("photoWidth"+myIndex) temp_photoHeight=oFileUp.form("photoHeight"+myIndex) '====檢查輸入,為空則給初值== temp_photoTitle=replace(trim(temp_photoTitle),"'","''") if temp_photoTitle="" then temp_photoTitle="沒(méi)有填寫(xiě)" end if temp_photoIntro=replace(trim(temp_photoIntro),"'","''") if temp_photoIntro="" then temp_photoIntro="沒(méi)有填寫(xiě)" 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 '===插入數(shù)據(jù)庫(kù)=== FileSize=oFileUp.Form(strFormElement).TotalBytes 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," & 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 '===輸出上傳成功信息=== iCount=iCount+1 End If
Else Response.Write strFormElement & "對(duì)象為空!" End If '--end if 對(duì)象為空 End If '--end if 是否是文件 Next Set oFileUp = Nothing '刪除此對(duì)象 end if '--end if 沒(méi)有錯(cuò)誤信息
response.write "<br>"&iCount&" 個(gè)文件上傳結(jié)束!" response.write "<br><a href='photo_listphoto.asp?albumID="&albumID&"'><B>返回相冊(cè)</B></a>" '=====如果有錯(cuò),輸出錯(cuò)誤信息===== 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 %>
出處:藍(lán)色理想
責(zé)任編輯:帥青蛙
上一頁(yè) 用 SA FileUp 上傳多文件 [2] 下一頁(yè) 用 SA FileUp 上傳多文件 [4]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|