www.gusucode.com > CC校友录贴吧 CCBar源码程序asp编程 > meditor/Upload.asp
<!--#include file="common/CLS_CjUpload.asp"--> <HTML> <HEAD> <TITLE>文件上传</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style type="text/css"> body, a, table, div, span, td, th, input, select{font:9pt;font-family: "宋体", Verdana, Arial, Helvetica, sans-serif;} body {padding:0px;margin:0px} </style> <script language="JavaScript" src="dialog/dialog.js"></script> </head> <body bgcolor=menu> <% sAction = trim(Request("action")) sType = trim(Request("type")) sID = trim(Request("id")) sPath = trim(Request("path")) if sType="" then Response.Write("无效的类型!") Response.end end if if sID="" then Response.Write("无效的ID!") Response.end end if Set oXmlTemplate = Server.CreateObject("MicroSoft.XmlDom") oXmlTemplate.async = false oXmlTemplate.load(Server.MapPath("template/" + sID + ".xml")) Set node_Config = oXmlTemplate.selectSingleNode("/mEditor/Config") sUploadPath = node_Config.selectSingleNode("UploadPath").text if(sPath<>"") then sUploadPath = sPath Select Case LCase(sType) Case "image" sAllowExt = node_Config.selectSingleNode("IMAGEALLOWEXT").text iMaxSize = Clng(node_Config.selectSingleNode("IMAGEMAXSIZE").text) Case "flash" sAllowExt = node_Config.selectSingleNode("FLASHALLOWEXT").text iMaxSize = Clng(node_Config.selectSingleNode("FLASHMAXSIZE").text) Case "media" sAllowExt = node_Config.selectSingleNode("MEDIAALLOWEXT").text iMaxSize = Clng(node_Config.selectSingleNode("MEDIAMAXSIZE").text) Case "files" sAllowExt = node_Config.selectSingleNode("FILESALLOWEXT").text iMaxSize = Clng(node_Config.selectSingleNode("FILESMAXSIZE").text) End Select Select Case LCase(sAction) Case "save" Call ShowForm() Call SaveFile() Case Else Call ShowForm() End Select %> <% Sub ShowForm() sActionUrl = "?action=save&type="&sType&"&id="&sID&"&path="&sPath %> <form action="<%=sActionUrl%>" method=post name=myform enctype="multipart/form-data" onSubmit="return CheckUploadForm()"> <input type=file name=uploadfile size=1 style="width:100%"> <input type=submit> </form> <script language=javascript> var sAllowExt = "<%=sAllowExt%>"; function CheckUploadForm() { if (!IsAllowExt(document.myform.uploadfile.value,sAllowExt)){ parent.UploadError("操作提示:\n\n请选择一个有效的文件!\n\n本系统支持的格式有("+sAllowExt+")!"); return false; } return true; } try { parent.UploadLoaded(); } catch(e){ } </script> <% End Sub Function SaveFile() iServerScriptTimeOut = Server.ScriptTimeOut iSessionTimeOut = Session.Timeout Server.ScriptTimeOut = 1800 Session.Timeout = 999 Set oCJUP = new CJ_Upload if not IsSelfRefer then Call OutScript("parent.UploadError('非法提交!!!\n\n您提交的表单来源无效!')") Response.end end if Set oUploadFile = oCJUP.File("uploadfile") oUploadFile.Path = Server.Mappath(sUploadPath) oUploadFile.MaxBytes = iMaxSize*1024 oUploadFile.LimitExt = sAllowExt oUploadFile.LimitExtMode = "allow" if oUploadFile.IsValid and oUploadFile.TotalBytes>0 then sFileName = GetFileName(oUploadFile.FileExt) if(Right(sUploadPath,1) = "/" or Right(sUploadPath,1) = "\") then sPathFileName = sUploadPath & sFileName else sPathFileName = sUploadPath & "/" & sFileName end if oUploadFile.FileName = sFileName oUploadFile.save() Call OutScript("parent.UploadSaved('" & sFileName & "')") else Select Case oUploadFile.Err Case 200 Call OutScript("parent.UploadError('上传的文件的大小超出了限制(" & iMaxSize & "KB)!')") Case 300 Call OutScript("parent.UploadError('请选择有效的上传文件!')") End Select end if Server.ScriptTimeOut = iServerScriptTimeOut Session.Timeout = iSessionTimeOut End Function Sub OutScript(str) Response.Write "<script language=javascript>" & str & ";history.back()</script>" End Sub Sub OutScriptNoBack(str) Response.Write "<script language=javascript>" & str & "</script>" End Sub Function GetFileName(sExt) Dim sRnd Randomize sRnd = Int(900 * Rnd) + 100 GetFileName = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now) & sRnd & "." & sExt End Function Function ActiveXInstalled(sClassID) On Error Resume Next ActiveXInstalled = False Err = 0 Dim ActiveXObject Set ActiveXObject = Server.CreateObject(sClassID) If 0 = Err Then ActiveXInstalled = True Set ActiveXObject = Nothing Err = 0 End Function '============================================================================================= ' 检页提交页面是否来自本站 '============================================================================================= Function IsSelfRefer() Dim sHTTP_REFERER,sSERVER_NAME,sSERVER_NAME_Refer sHTTP_REFERER = Cstr(trim(Request.ServerVariables("HTTP_REFERER"))) sSERVER_NAME = Cstr(trim(Request.ServerVariables("SERVER_NAME"))) sSERVER_NAME_Refer = Mid(sHTTP_REFERER, 8, Len(sSERVER_NAME)) if sSERVER_NAME = sSERVER_NAME_Refer then IsSelfRefer = true else IsSelfRefer = false end if End Function %> </body> </html>