织梦CMS - 轻松建站从此开始!

龙舞天翔资料中心

[ASP]利用稻香老农的无组件上传类进行多文件上传

时间:2012-01-25 14:05来源: 作者: 点击:
本例使用稻香老农的无组件上传类进行多文件和表单项的混合上传。大家可以根据自己的实际情况进行修改。

本例使用稻香老农的无组件上传类进行多文件和表单项的混合上传。
大家可以根据自己的实际情况进行修改。

简单说明:
本例是相册里像片的上传。
其中的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
%>

(责任编辑:龙舞天翔)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片