120 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			120 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | <%@ CODEPAGE=65001 %> | |||
|  | <% Option Explicit %> | |||
|  | <% Response.CodePage=65001 %> | |||
|  | <% Response.Charset="UTF-8" %> | |||
|  | <!--#include file="UpLoad_Class.asp"--> | |||
|  | <!--#include file="JSON_2.0.4.asp"--> | |||
|  | <% | |||
|  | 
 | |||
|  | ' KindEditor ASP | |||
|  | ' | |||
|  | ' 本ASP程序是演示程序,建议不要直接在实际项目中使用。 | |||
|  | ' 如果您确定直接使用本程序,使用之前请仔细确认相关安全设置。 | |||
|  | ' | |||
|  | 
 | |||
|  | Dim aspUrl, savePath, saveUrl, maxSize, fileName, fileExt, newFileName, filePath, fileUrl, dirName | |||
|  | Dim extStr, imageExtStr, flashExtStr, mediaExtStr, fileExtStr | |||
|  | Dim upload, file, fso, ranNum, hash, ymd, mm, dd, result | |||
|  | 
 | |||
|  | aspUrl = Request.ServerVariables("SCRIPT_NAME") | |||
|  | aspUrl = left(aspUrl, InStrRev(aspUrl, "/")) | |||
|  | 
 | |||
|  | '文件保存目录路径 | |||
|  | savePath = "../attached/" | |||
|  | '文件保存目录URL | |||
|  | saveUrl = aspUrl & "../attached/" | |||
|  | '定义允许上传的文件扩展名 | |||
|  | imageExtStr = "gif|jpg|jpeg|png|bmp" | |||
|  | flashExtStr = "swf|flv" | |||
|  | mediaExtStr = "swf|flv|mp3|wav|wma|wmv|mid|avi|mpg|asf|rm|rmvb" | |||
|  | fileExtStr = "doc|docx|xls|xlsx|ppt|htm|html|txt|zip|rar|gz|bz2" | |||
|  | '最大文件大小 | |||
|  | maxSize = 5 * 1024 * 1024 '5M | |||
|  | 
 | |||
|  | Set fso = Server.CreateObject("Scripting.FileSystemObject") | |||
|  | If Not fso.FolderExists(Server.mappath(savePath)) Then | |||
|  | 	showError("上传目录不存在。") | |||
|  | End If | |||
|  | 
 | |||
|  | dirName = Request.QueryString("dir") | |||
|  | If isEmpty(dirName) Then | |||
|  | 	dirName = "image" | |||
|  | End If | |||
|  | If instr(lcase("image,flash,media,file"), dirName) < 1 Then | |||
|  | 	showError("目录名不正确。") | |||
|  | End If | |||
|  | 
 | |||
|  | Select Case dirName | |||
|  | 	Case "flash" extStr = flashExtStr | |||
|  | 	Case "media" extStr = mediaExtStr | |||
|  | 	Case "file" extStr = fileExtStr | |||
|  | 	Case Else  extStr = imageExtStr | |||
|  | End Select | |||
|  | 
 | |||
|  | set upload = new AnUpLoad | |||
|  | upload.Exe = extStr | |||
|  | upload.MaxSize = maxSize | |||
|  | upload.GetData() | |||
|  | if upload.ErrorID>0 then  | |||
|  | 	showError(upload.Description) | |||
|  | end if | |||
|  | 
 | |||
|  | '创建文件夹 | |||
|  | savePath = savePath & dirName & "/" | |||
|  | saveUrl = saveUrl & dirName & "/" | |||
|  | If Not fso.FolderExists(Server.mappath(savePath)) Then | |||
|  | 	fso.CreateFolder(Server.mappath(savePath)) | |||
|  | End If | |||
|  | mm = month(now) | |||
|  | If mm < 10 Then | |||
|  | 	mm = "0" & mm | |||
|  | End If | |||
|  | dd = day(now) | |||
|  | If dd < 10 Then | |||
|  | 	dd = "0" & dd | |||
|  | End If | |||
|  | ymd = year(now) & mm & dd | |||
|  | savePath = savePath & ymd & "/" | |||
|  | saveUrl = saveUrl & ymd & "/" | |||
|  | If Not fso.FolderExists(Server.mappath(savePath)) Then | |||
|  | 	fso.CreateFolder(Server.mappath(savePath)) | |||
|  | End If | |||
|  | 
 | |||
|  | set file = upload.files("imgFile") | |||
|  | if file is nothing then | |||
|  | 	showError("请选择文件。") | |||
|  | end if | |||
|  | 
 | |||
|  | set result = file.saveToFile(savePath, 0, true) | |||
|  | if result.error then | |||
|  | 	showError(file.Exception) | |||
|  | end if | |||
|  | 
 | |||
|  | filePath = Server.mappath(savePath & file.filename) | |||
|  | fileUrl = saveUrl & file.filename | |||
|  | 
 | |||
|  | Set upload = nothing | |||
|  | Set file = nothing | |||
|  | 
 | |||
|  | If Not fso.FileExists(filePath) Then | |||
|  | 	showError("上传文件失败。") | |||
|  | End If | |||
|  | 
 | |||
|  | Response.AddHeader "Content-Type", "text/html; charset=UTF-8" | |||
|  | Set hash = jsObject() | |||
|  | hash("error") = 0 | |||
|  | hash("url") = fileUrl | |||
|  | hash.Flush | |||
|  | Response.End | |||
|  | 
 | |||
|  | Function showError(message) | |||
|  | 	Response.AddHeader "Content-Type", "text/html; charset=UTF-8" | |||
|  | 	Dim hash | |||
|  | 	Set hash = jsObject() | |||
|  | 	hash("error") = 1 | |||
|  | 	hash("message") = message | |||
|  | 	hash.Flush | |||
|  | 	Response.End | |||
|  | End Function | |||
|  | %> |