本页主题: ASP程序使用AspUpload组件上传的例子 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

Mike
群熵工程师
级别: 管理员


精华: 7
发帖: 951
威望: 714 点
金钱: 6601 RMB
贡献值: 0 点
好评度: 611 点
在线时间:1405(小时)
注册时间:2003-11-28
最后登录:2018-04-23

 ASP程序使用AspUpload组件上传的例子

一共三个文件,uploadfile.asp,framebar.asp,bar.asp
访问uploadfile.asp即可,如下:

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Keywords" content="51windows.Net">
<meta name="Author" content="haiwa">
<title>Upload -51windows.Net</title>
<style>
<!--
*       {font:12px;}
-->
</style>
</head>
<body>
<%
On Error Resume Next
Server.ScriptTimeOut=999999
if request("act")="upload" then
  dim folder,savepath
  savepath=Server.MapPath(UploadFilePath)
  CreateFolder(savepath)
  Set Upload=Server.CreateObject("Persits.Upload")
  Upload.SetMaxSize UploadLimitSize*1024, True
  Upload.OverwriteFiles = false
  if Request.QueryString("PID") = "" then
    Upload.ProgressID="010D60EB00C5AA4B"
  else
    Upload.ProgressID=Request.QueryString("PID")
  end if
  Count=Upload.Save(savepath)
  If Err.Number <> 0 Then
    Response.Write "<div style=""color:red;font-size:12px;"">出现错误: " & Err.Number & "、" & Err.Description &"<a href=""javascript:history.go(-1)"">重新上传</a></div>"
  End If
  If Err.Number = 8 Then
    Response.Write "<div style=""color:red;font-size:12px;"">你上传的文件超过限制("& UploadLimitSize/1024 &"M)<a href=""javascript:history.go(-1)"">重新上传</a></div>"
    response.end
  end if

  dim inputname
  dim size,rs_upfile
  For Each File in Upload.Files
    if not CanUpload(File.ext) then
        File.Delete
        response.write "<div style=""color:red;font-size:12px;"">"&file.filename &"("& file.size &") 格式不正确!<a href=""javascript:history.go(-1)"">重新上传</a></div>"
    else
        '这下面三行代码功能为改名,如果不要改名,请去掉
        dim NewName
        NewName = year(now) & "-" & month(now) & "-" & day(now) & "-" & hour(now) & "-" & minute(now) & "-" & second(now) & File.ext
        File.Move savepath & "\" & NewName
        response.write "<div style=""color:green;font-size:12px;""><!-- "&file.filename &"("& file.size &") --> 上传成功"%><a href="javascript:history.go(-1)">重新上传</a></div><%
    end if
  next
else

dim SPid,PID,barref
Set UploadProgress = Server.CreateObject("Persits.UploadProgress")
SPid = UploadProgress.CreateProgressID()
PID = "PID=" & SPid
barref = "framebar.asp?to=10&" & PID

Dim UploadFilePath,UploadLimitSize,NotAllowfileext,BrowerFilePath
UploadFilePath = year(now)&"_"&month(now)&"_"&day(now)&"/"
'文件上传路径

BrowerFilePath = "/"

UploadLimitSize = 1024*50   '50M
'最大上传文件大小,单位为K

NotAllowfileext = "asp|cer|cdx|asa|htw|ida|idq|shtm|shtml|stm|printer|cgi|php|php4|cfm|aspx"
'不可以上传的文件类型

function CanUpload(Fileurl)
  Fileurl = lcase("|"& Mid(Fileurl, InstrRev(Fileurl, ".") + 1)& "|")
  NotAllowfileextstr = "|"&NotAllowfileext&"|"
  if instr(NotAllowfileextstr,Fileurl)>0 then
    CanUpload = false
  else
    CanUpload = true
  end if
end function

Function CreateFolder(Filepath)
  Dim fso, f
  on error resume next
  Set fso = CreateObject("Scripting.FileSystemObject")
  if not fso.FolderExists(Filepath) then
    Set f = fso.CreateFolder(Filepath)
    set f = Nothing
  end if
  set fso = Nothing
End Function
%>
<SCRIPT LANGUAGE="JavaScript">
function ShowProgress()
{
strAppVersion = navigator.appVersion;
if (document.MyForm.FILE1.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 chk()
{
  if (MyForm.FILE1.value=="")
  {
    alert("请从硬盘选择你要上传的文件...");
    return false;
  }
}
</SCRIPT>
<FORM NAME="MyForm" method="post" ENCTYPE="multipart/form-data" ACTION="?<% = PID %>&act=upload" OnSubmit="return ShowProgress();">
<INPUT NAME="FILE1" TYPE="FILE" SIZE="16"> <input name="Submit" type="submit" value="上 传" onclick="return chk()"></FORM>
<%end if%>
</body>
</html>
顶端 Posted: 06-03-19 00:15 | [楼 主]
Mike
群熵工程师
级别: 管理员


精华: 7
发帖: 951
威望: 714 点
金钱: 6601 RMB
贡献值: 0 点
好评度: 611 点
在线时间:1405(小时)
注册时间:2003-11-28
最后登录:2018-04-23

 framebar.asp

Copy code
<%@EnableSessionState=False%>
<% Response.Expires = -1 %>
<title>正在上传............</title>
<style type='text/css'>td {font-family:Tahoma; font-size: 8pt }</style>
<BODY BGCOLOR="menu" scroll="NO" frameborder="NO" status="no" style="border:0px;">
<script language="JavaScript">
<!--
function Stopupload()
{
   if (typeof(window.opener)!="undefined"){
       try{
           window.opener.document.execCommand("stop");
       }
       catch(e){}
   }
   else if(typeof(window.dialogArguments)!="undefined"){
       try{
           window.dialogArguments.document.execCommand("stop");
       }
       catch(e){}
   }
   window.close();
}
//-->
</script>
<IFRAME src="bar.asp?PID=<%= Request("PID") & "&to=" & Request("to") %>" title="Uploading" noresize scrolling=no
frameborder=0 framespacing=10 width=369 height=115></IFRAME>
<TABLE BORDER="0" WIDTH="100%" cellpadding="2" cellspacing="0">
<TR><TD ALIGN="center"><button onclick="Stopupload()" style="font-size:12px;">取消上传</button>
</TD></TR>
</TABLE>
</BODY>
</HTML>
顶端 Posted: 06-03-19 00:22 | 1 楼
Mike
群熵工程师
级别: 管理员


精华: 7
发帖: 951
威望: 714 点
金钱: 6601 RMB
贡献值: 0 点
好评度: 611 点
在线时间:1405(小时)
注册时间:2003-11-28
最后登录:2018-04-23

 bar.asp

Copy code
<%@EnableSessionState=False%>
<%
   Response.Expires = -1
   PID = Request("PID")
   TimeO = Request("to")
   Set UploadProgress = Server.CreateObject("Persits.UploadProgress")
   format = "<br><CENTER><b>正在上传,请耐心等待...</b></CENTER><br>%T%t%B3%T 速度:(%S/秒) 估计剩余时间:%R %r%U / %V(%P)%l%t"
   bar_content = UploadProgress.FormatProgress(PID, TimeO, "#00007F", format)
If "" = bar_content Then
%>
<HTML>
<HEAD>
<TITLE>Upload Finished</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function CloseMe()
{
   window.parent.close();
   return true;
}
</SCRIPT>
</HEAD>
<BODY OnLoad="CloseMe()" BGCOLOR="menu">
</BODY>
</HTML>
<%
Else   ' Not finished yet
%>
<HTML>
<HEAD>
<meta HTTP-EQUIV="Refresh" CONTENT="1;URL=<%
Response.Write Request.ServerVariables("URL")
Response.Write "?to=" & TimeO & "&PID=" & PID %>">
<TITLE>Uploading Files...</TITLE>
<style type="text/css">
body,td {font-family:Tahoma; font-size: 8pt }
td.spread {font-size: 6pt; line-height:6pt }
td.brick {font-size:6pt; height:12px}
</style>
</HEAD>
<BODY BGCOLOR="menu" topmargin=0>
<% = bar_content %>
</BODY>
</HTML>
<% End If %>
顶端 Posted: 06-03-19 00:24 | 2 楼
帖子浏览记录 版块浏览记录
群熵信息 - 技术讨论区 » WEB脚本技术进阶

Total 0.015849(s) query 5, Time now is:08-19 13:50, Gzip enabled
Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation

上海服务器租用 杭州世导双线服务器托管 云主机 VPS