asp无组件上传类的应用实例

    技术2022-05-11  95

     

    上传类代码见另一篇文章:http://blog.csdn.net/precipitant/archive/2005/12/25/561768.aspx

    ''''''-------- upload.htm -------------<script language="javascript">   function checkFile(myForm)    { if(myForm.File1.value=='') return false;    myForm.submit();     }</script><form method="POST" name="upl" action="fjupload.asp"  enctype="multipart/form-data" >                                                                                                         <input type="file" name="File1"  ID="File1"><input type="button" name="upfiles" value="上传" οnclick="checkFile(document.upl);"></form> 

    '''   ------------fjupload.asp  -----------------

     

    <!--#include file="../../inc/config.asp"--><!--#include file="../../inc/upload.inc"--><%

    founderr=falseSavePath = Server.MapPath("?????")   '存放上传文件的目录

    call upload_0()  '使用化境无组件上传类

     

    '上传程序sub upload_0()    '使用化境无组件上传类

     set upload=new upload_file          '建立上传对象

        dim msg                             '存储上传过程中发生的错误信息    dim filecount                       '存储文件总数    dim upcount                         '存储上传的文件总数    filecount=0    upcount=0 for each formName in upload.file    '列出所有上传了的文件  set file=upload.file(formName)  '生成一个文件对象        if(file.filename<>"") then    founderr=false    filecount=filecount +1     set file=upload.file(formName)  '生成一个文件对象        randomize           ranNum=int(900*rnd)+100    last_fn=hour(now()) & minute(now()) & second(now()) & ranNum  '生成一段随机数附加到文件末尾,以防止文件名冲突    ext_fn=file.fileext  '扩展名        filename=SavePath & "/" & file.smallfilename & "_" &  last_fn     if ext_fn<>"" then filename=filename & "." & ext_fn        if fso.FileExists(filename) then        msg=msg & "/r/n" & file.filename & " 文件已经存在,请更改文件名"        founderr=true    end if      '如果可以上传,就执行上传    if founderr<>true then     file.SaveToFile FileName      '保存文件     if(err=0) then         upcount = upcount + 1         msg=msg & "/r/n" & file.filename & "上传成功!"         '如果是rar文件进行解压缩         if(lcase(file.fileext)="rar") then               Call UnCompess(FileName,SavePath)   '解压缩                                     end if     else         msg=msg & "/r/n" & file.filename & "上传失败!"     end if      end if     end if     set file=nothing next set fso=nothing set upload=nothing '如果上传成功的文件数少于上传的文件数就弹出错误提示 if(filecount>upcount) then %>  <%response.write msg%><% end ifend sub%>

    <%'如果想实现自动解压,还需要将名为rar.exe和cmd.exe的文件拷贝到inc目录下'如果是rar文件,进行解压缩'fname:  rar文件'fpath:  解压后文件存储路径sub UnCompess(fname,fpath)    if(fpath="" or fname="") then exit sub    dim ylj,ywj,Mlpath  Mlpath=Request.ServerVariables("APPL_PHYSICAL_PATH") & "/inc/"  '存放RAR.EXE和CMD.EXE的路径  ylj=fpath &"/"                                        '解压文件后所放的路径  ywj=fname                                             '要解压的RAR文件  dim Shell,rarcomm,cmd,RetCode                                            Set Shell = Server.CreateObject("WScript.Shell") rarcomm= Mlpath & "cmd.exe /c "&Mlpath&"rar.exe x -t -o+ -p- " cmd=rarcomm & ywj & " " & ylj  RetCode = Shell.Run(cmd,1, True)  '删除上传的rar文件 set fso2=server.CreateObject("scripting.filesystemobject") if fso2.FileExists(ywj) then fso2.DeleteFile ywj set fso2=nothingend sub%>


    最新回复(0)