程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> aspupload文件重命名及上傳進度條的解決方法附代碼第1/2頁

aspupload文件重命名及上傳進度條的解決方法附代碼第1/2頁

編輯:關於ASP編程
發現還沒有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
%>



當前1/2頁 12下一頁閱讀全文
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved