aspupload文件重命名及上传进度条的解决方法附代码第1/2页
            网络编程 发布日期:2025/11/1 浏览次数:1
         
        
            正在浏览:aspupload文件重命名及上传进度条的解决方法附代码第1/2页
            发现还没有aspupload这个组件的,这两样功能的解决方案,现把我的改进方案写在这里!谢谢  
关于aspupload上传组件,文件重命名,进度条的问题解决方案!  
共用到4个文件,分别是1.asp,2.asp,bar.asp,framebar.asp  
运行第一个文件:1.asp,执行上传操作!  
复制代码 代码如下:
<% 
'''进度条 
dim SPid,PID,barref 
Set UploadProgress = Server.CreateObject("Persits.UploadProgress") 
SPid = UploadProgress.CreateProgressID() 
PID = "PID=" & SPid 
barref = "framebar.asp?to=10&" & PID 
%> 
<SCRIPT language="javascript"> 
<!-- 
function ShowProgress() 
//加载进度条 
{  
  strAppVersion = navigator.appVersion; 
  if (document.upfile.filename.value != "") 
  { 
    if (strAppVersion.indexOf('MSIE') != -1 && strAppVersion.substr(strAppVersion.indexOf('MSIE')+5,1) > 4) 
    { 
      winstyle = "dialogWidth=375px; dialogHeight:175px; center:yes;status:no"; 
      window.showModelessDialog('<% = barref %>&b=IE',window,winstyle); 
    } 
    else 
    { 
      window.open('<% = barref %>&b=NN','','width=370,height=165', true); 
    } 
  } 
  return true; 
} 
function isPic(){ 
    var temp; 
    var ExtList = ".jpg.gif.bmp.png.swf";//客户端,检测文件后缀名,省得上传完成后,才报文件类型错误! 
    var filename = upfile.filename.value; 
    var the_ext = filename.substr(filename.lastIndexOf(".")+1).toLowerCase(); 
    if (ExtList.indexOf(the_ext)==-1){ 
        alert("不是图片,请选择图片文件!"); 
        return false; 
    } 
    return true; 
} 
//--> 
</SCRIPT> 
  <html> 
  <head></head> 
  <body> 
  <form method="post"enctype="multipart/form-data"action="2.asp?<% = PID %>"name="upfile"OnSubmit="return ShowProgress();">  
   
  选择要上传的文件:<br> 
  <input type=file name="filename"><br> 
  <input type=submit value="上传" onclick="return isPic()"> 
  </form>  
  </body> 
  </html> 
2.asp 
复制代码 代码如下:
<% 
Set Upload = Server.CreateObject("Persits.Upload")  
' Prevent overwriting  
Upload.OverwriteFiles = False  
' We use memory uploads, 文件大小限制 ,单位:b 
Upload.SetMaxSize 1*1024*1024*1024, true  
if Request.QueryString("PID") = "" then 
                Upload.ProgressID="010D60EB00C5AA4B" 
        else 
                Upload.ProgressID=Request.QueryString("PID") 
        end if 
On Error Resume Next 
' Save to memory 保存到内存 
Upload.Save 
If Err.Number = 8 Then 
   Response.Write "文件大于1G" 
End If  
'为使文件不重名,用系统时间+随机数,作为文件名 
Dim ranNum 
        randomize 
        ranNum=int(999*rnd) 
        CreateName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum 
NewName = CreateName 
'保存文件路径 
articlepath = Server.MapPath("upload1")  
For Each File in Upload.Files  
        FileExt=Lcase(replace(File.ext,".","")) 
                '服务器端判断文件类型,动网论坛的判断方式 
                If CheckFileExt(FileExt)=false then 
                        Response.write "文件格式不正确,或不能为空 [ <a href=# onclick=history.go(-1)>重新上传</a> ]" 
                        else 
   File.SaveAs articlepath & "/" & NewName & File.ext  
   Response.Write "New name: " & File.FileName & "<BR>"  
End If 
Next  
%>  
<% 
'服务器端判断文件类型,动网论坛的判断方式 
Private Function CheckFileExt(FileExt) 
        If FileExt="" or IsEmpty(FileExt) Then 
                CheckFileExt=false 
                Exit Function 
        End If 
        If Lcase(FileExt)="asp" or Lcase(FileExt)="asa" or Lcase(FileExt)="aspx" then 
                CheckFileExt=false 
                Exit Function 
        End If 
        If Lcase(FileExt)="gif" or Lcase(FileExt)="jpg" or Lcase(FileExt)="png" or Lcase(FileExt)="swf" or Lcase(FileExt)="bmp" then 
                CheckFileExt=true 
                Exit Function 
        Else 
                CheckFileExt=false 
        End If 
End Function 
%> 
                            12下一页阅读全文