?? ixs_clsupload.asp
字號(hào):
?<!--#include file="iXs_ClsFileUp.asp" -->
<%
'=========================================================
' 文件:iXs_ClsUpLoad.asp
' 功能:愛雪兒通用上傳管理類
' 版本:愛雪兒圖文管理系統(tǒng) PAMS Version 1.1.0
' 時(shí)間:2006-01-05
' 作者:Guidy
' 版權(quán):愛雪兒工作室 [iXuEr Studio]
'=========================================================
' Copyright (C) 2005-2008 iXuEr.Net All Rights Reserved .
' 官方網(wǎng)站:http://www.ixuer.net/
' 技術(shù)論壇:http://bbs.ixuer.net/
' 電子信箱:guidy@114xp.cn
'=========================================================
' 此管理類修改自動(dòng)網(wǎng)論壇,以下是其原版權(quán)標(biāo)識(shí)
'-----------------------------------------------------------------------
'--- 上傳處理類模塊
'--- Copyright (c) 2004 Aspsky, Inc.
'--- Mail: Sunwin@artbbs.net http://www.aspsky.net
'--- 2004-12-18
'-----------------------------------------------------------------------
'-----------------------------------------------------------------------
'-- InceptFileType : 設(shè)置上傳類型屬性 (以逗號(hào)分隔多個(gè)文件類型) String
'-- MaxSize : 設(shè)置上傳文件大小上限 (單位:kb) Long
'-- InceptMaxFile : 設(shè)置一次上傳文件最大個(gè)數(shù) Long
'-- UploadPath : 設(shè)置保存的目錄相對(duì)路徑 String
'-- UploadType : 設(shè)置上傳組件類型 (0=無組件上傳類,1=Aspupload3.0 ,2=SA-FileUp 4.0 ,3=DvFile.Upload V1.0)
'-- SaveUpFile : 執(zhí)行上傳
'-- GetBinary : 設(shè)置上傳是否返回文件數(shù)據(jù)流 Bloon值 : True/False
'-- ChkSessionName : 設(shè)置SESSION名,防止重復(fù)提交,SESSION名與提交的表單名要一致。
'-- RName設(shè)置文件名 : 定義文件名前綴 (如默認(rèn)生成的文件名為2005082212195045236.jpg
' 設(shè)置:RName="PRE_",生成的文件名為:PRE_2005082212195045236.jpg)
'-----------------------------------------------------------------------
'-- 設(shè)置圖片組件屬性
'-- PreviewType : 設(shè)置組件(0=CreatePreviewImage組件,1=AspJpegV1.2 ,2=SoftArtisans ImgWriter V1.21)
'-- PreviewImageWidth : 設(shè)置預(yù)覽圖片寬度
'-- PreviewImageHeight : 設(shè)置預(yù)覽圖片高度
'-- DrawImageWidth : 設(shè)置水印圖片或文字區(qū)域?qū)挾?'-- DrawImageHeight : 設(shè)置水印圖片或文字區(qū)域高度
'-- DrawGraph : 設(shè)置水印圖片或文字區(qū)域透明度
'-- DrawFontColor : 設(shè)置水印文字顏色
'-- DrawFontFamily : 設(shè)置水印文字字體格式
'-- DrawFontSize : 設(shè)置水印文字字體大小
'-- DrawFontBold : 設(shè)置水印文字是否粗體
'-- DrawInfo : 設(shè)置水印文字信息或圖片信息
'-- DrawType : 設(shè)置加載水印模式:0=不加載水印 ,1=加載水印文字 ,2=加載水印圖片
'-- DrawXYType : 圖片添加水印LOGO位置坐標(biāo):"0" =左上,"1"=左下,"2"=居中,"3"=右上,"4"=右下
'-- DrawSizeType : 生成預(yù)覽圖片大小規(guī)則:"0"=固定縮小,"1"=等比例縮小
'-----------------------------------------------------------------------
'-- 獲取上傳信息
'-- ObjName : 采用的組件名稱
'-- Count : 上傳文件總數(shù)
'-- CountSize : 上傳總大小字節(jié)數(shù)
'-- ErrCodes : 錯(cuò)誤NUMBER (默認(rèn)為0)
'-- Description : 錯(cuò)誤描述
'-----------------------------------------------------------------------
'-- CreateView Imagename,TempFilename,FileExt
' 創(chuàng)建預(yù)覽圖片過程: 原始文件的相對(duì)路徑,生成預(yù)覽文件相對(duì)路徑,原文件后綴
'-----------------------------------------------------------------------
'-----------------------------------------------------------------------
'-- 獲取文件對(duì)象屬性 : UploadFiles
'-- FormName : 表單名稱
'-- FileName : 生成的文件名稱
'-- FilePath : 保存文件的相對(duì)路徑
'-- FileSize : 文件大小
'-- FileContentType : ContentType文件類型
'-- FileType : 0=其它,1=圖片,2=FLASH,3=音樂,4=電影
'-- FileData : 文件數(shù)據(jù)流 (若組件不支持直接獲取,則返回Null)
'-- FileExt : 文件后綴
'-- FileWidth : 圖片/Flash文件寬度 (其他文件默認(rèn)=-1)
'-- FileHeight : 圖片/Flash文件高度 (其他文件默認(rèn)=-1)
'-----------------------------------------------------------------------
'-----------------------------------------------------------------------
'-- 獲取表單對(duì)象屬性 : UploadForms
'-- Count : 表單數(shù)
'-- key : 表單內(nèi)容
'-----------------------------------------------------------------------
'-----------------------------------------------------------------------
Class iXuEr_UpFile
Private UploadObj, ImageObj
Private FilePath, InceptFile, FileMaxSize, MaxFile, Upload_Type, FileInfo, IsBinary, SessionName
Private Preview_Type, View_ImageWidth, View_ImageHeight, Draw_ImageWidth, Draw_ImageHeight, Draw_Graph
Private Draw_FontColor, Draw_FontFamily, Draw_FontSize, Draw_FontBold, Draw_Info, Draw_Type, Draw_XYType, Draw_SizeType
Private RName_Str, Transition_Color
Public ErrCodes, ObjName, UploadFiles, UploadForms, Count, CountSize
Public p_UpLoadPID, OldFileName, DiyFileName, FormatType, AutoDir, UpLoaddingDataDir
Public FileExt_1, FileExt_2, FileExt_3, FileExt_4, FileExt_5, FileExt_6
' ============================================
' 返回版本信息
' ============================================
Public Property Get Version
Version = "愛雪兒上傳管理類 Version 3.0.0"
End Property
' ============================================
' 初始化類
' ============================================
Private Sub Class_Initialize
SessionName = Empty
IsBinary = False
ErrCodes = 0
Count = 0
AutoDir = 0
CountSize = 0
FilePath = "./"
InceptFile = ""
OldFileName = ""
FormatType = 1
FileMaxSize = -1
MaxFile = 1
Upload_Type = -1
Preview_Type = 999
ObjName = "未知組件"
View_ImageWidth = 0
View_ImageHeight = 0
Draw_FontColor = &H000000
Draw_FontFamily = "Arial"
Draw_FontSize = 10
Draw_FontBold = False
Draw_Info = "BBS.IXUER.NET"
Draw_Type = -1
FileExt_1 = "jpg|jpeg|gif|bmp|png|tif|iff" ' 圖像類文件類型
FileExt_2 = "swf|swi" ' 動(dòng)畫文件類型
FileExt_3 = "mp3|m3u|wav|wma|wax|asx|asf|mp2|au|aif|aiff|mid|midi|rmi" ' 音頻文件類型 全部采用Windows Media Player播放
FileExt_4 = "rm|rmvb|ram|ra|mov" ' RealPlayer 文件類型
FileExt_5 = "mpg|mpeg|mpv|mps|m2v|m1v|mpe|mpa|avi|wmv|wm|wmx|wvx" ' Windows Media 視頻文件類型
FileExt_6 = "asa|asp|bat|cmd|code|com|db|dll|doc|exe|fla|ftp|h|hlp|htm|html|inc|info|ini|js|log|mdb|pdf|php|pic|ppt|rar|real|torrent|txt|xls|xml|zip" ' 其他文件類型
Set UploadFiles = Server.CreateObject(ServerObject_004)
Set UploadForms = Server.CreateObject(ServerObject_004)
UploadFiles.CompareMode = 1
UploadForms.CompareMode = 1
End Sub
' ============================================
'銷毀類
' ============================================
Private Sub Class_Terminate
If IsObject(UploadObj) Then
Set UploadObj = Nothing
End If
If IsObject(ImageObj) Then
Set ImageObj = Nothing
End If
UploadFiles.RemoveAll
UploadForms.RemoveAll
Set UploadForms = Nothing
Set UploadFiles = Nothing
End Sub
' ============================================
' 設(shè)置上傳是否返回文件數(shù)據(jù)流
' ============================================
Public Property Let GetBinary(Byval Values)
IsBinary = Values
End Property
' ============================================
' 設(shè)置上傳類型屬性 (以逗號(hào)分隔多個(gè)文件類型)
' ============================================
Public Property Let InceptFileType(Byval Values)
InceptFile = LCase(Values)
End Property
' ============================================
' 設(shè)置上傳類型屬性 (以逗號(hào)分隔多個(gè)文件類型)
' ============================================
Public Property Let ChkSessionName(Byval Values)
SessionName = Values
End Property
' ============================================
' 設(shè)置上傳文件大小上限 (單位:kb)
' ============================================
Public Property Let MaxSize(Byval Values)
FileMaxSize = ChkNumeric(Values) * 1024
End Property
Public Property Get MaxSize
MaxSize = FileMaxSize
End Property
' ============================================
' 設(shè)置每次上傳文件上限
' ============================================
Public Property Let InceptMaxFile(Byval Values)
MaxFile = ChkNumeric(Values)
End Property
' ============================================
' 設(shè)置上傳目錄路徑
' ============================================
Public Property Let UploadPath(Byval Path)
FilePath = Replace(Path, Chr(0), "")
If Right(FilePath,1) <> "/" Then FilePath = FilePath & "/"
End Property
Public Property Get UploadPath
UploadPath = FilePath
End Property
' ============================================
' 設(shè)置上傳ID,用戶進(jìn)度條
' ============================================
Public Property Let UpLoadPID(Byval ID)
p_UpLoadPID = ID
End Property
Public Property Get UpLoadPID()
UpLoadPID = p_UpLoadPID
End Property
' ============================================
' 獲取錯(cuò)誤信息
' ============================================
Public Property Get Description
Select Case ErrCodes
Case 1 : Description = "不支持 " & ObjName & " 上傳,服務(wù)器可能未安裝該組件。"
Case 2 : Description = "暫未選擇上傳組件!"
Case 3 : Description = "請(qǐng)先選擇你要上傳的文件!"
Case 4 : Description = "文件大小超過了限制 " & (FileMaxSize\1024) & "KB!"
Case 5 : Description = "文件類型不正確!"
Case 6 : Description = "已達(dá)到上傳數(shù)的上限!"
Case 7 : Description = "請(qǐng)不要重復(fù)提交!"
Case 8 : Description = "數(shù)據(jù)大小超過限制,并包含非法文件類型,上傳失敗!"
Case 9 : Description = "數(shù)據(jù)總數(shù)量超過限制,上傳失敗!"
Case Else
Description = Empty
End Select
End Property
' ============================================
' 設(shè)置文件名前綴
' ============================================
Public Property Let RName(Byval Values)
RName_Str = Values
End Property
' ============================================
' 設(shè)置上傳組件屬性
' ============================================
Public Property Let UploadType(Byval Types)
Upload_Type = Types
If Upload_Type = "" or Not IsNumeric(Upload_Type) Then
Upload_Type = -1
End If
End Property
' ============================================
' 設(shè)置上傳圖片組件屬性
' ============================================
Public Property Let PreviewType(Byval Types)
Preview_Type = Types
On Error Resume Next
If Preview_Type = "" or Not IsNumeric(Preview_Type) Then
Preview_Type = 999
Else
If PreviewType <> 999 Then
Select Case Preview_Type
Case 0
'---------------------CreatePreviewImage---------------
ObjName = "CreatePreviewImage組件"
Set ImageObj = Server.CreateObject(ServerObject_015)
Case 1
'---------------------AspJpegV1.2---------------
ObjName = "AspJpegV1.2組件"
Set ImageObj = Server.CreateObject(ServerObject_016)
Case 2
'---------------------SoftArtisans ImgWriter V1.21---------------
ObjName = "SoftArtisans ImgWriter V1.21組件"
Set ImageObj = Server.CreateObject(ServerObject_017)
Case Else
Preview_Type = 999
End Select
If Err.Number<>0 Then
ErrCodes = 1
End If
End If
End If
End Property
Public Property Get PreviewType
PreviewType = Preview_Type
End Property
' ============================================
' 設(shè)置預(yù)覽圖片寬度屬性
' ============================================
Public Property Let PreviewImageWidth(Byval Values)
View_ImageWidth = ChkNumeric(Values)
End Property
' ============================================
' 設(shè)置預(yù)覽圖片高度屬性
' ============================================
Public Property Let PreviewImageHeight(Byval Values)
View_ImageHeight = ChkNumeric(Values)
End Property
' ============================================
' 設(shè)置水印圖片或文字區(qū)域?qū)挾葘傩? ' ============================================
Public Property Let DrawImageWidth(Byval Values)
Draw_ImageWidth = ChkNumeric(Values)
End Property
' ============================================
' 設(shè)置水印圖片或文字區(qū)域高度屬性
' ============================================
Public Property Let DrawImageHeight(Byval Values)
Draw_ImageHeight = ChkNumeric(Values)
End Property
' ============================================
' 設(shè)置水印圖片或文字區(qū)域透明度屬性
' ============================================
Public Property Let DrawGraph(Byval Values)
If IsNumeric(Values) Then
Draw_Graph = Formatnumber(Values, 2)
Else
Draw_Graph = 1
End If
End Property
' ============================================
'設(shè)置水印圖片透明度去除底色值
' ============================================
Public Property Let TransitionColor(Byval Values)
If Values <> "" Or Values <> "0" Then
Transition_Color = Replace(Values, "#", "&h")
End If
End Property
' ============================================
' 設(shè)置水印文字顏色
' ============================================
Public Property Let DrawFontColor(Byval Values)
If Values<>"" or Values<>"0" Then
Draw_FontColor = Replace(Values,"#","&h")
End If
End Property
' ============================================
' 設(shè)置水印文字字體格式
' ============================================
Public Property Let DrawFontFamily(Byval Values)
Draw_FontFamily = Values
End Property
' ============================================
' 設(shè)置水印文字字體大小
' ============================================
Public Property Let DrawFontSize(Byval Values)
Draw_FontSize = Values
End Property
' ============================================
' 設(shè)置水印文字是否粗體 Boolean
' ============================================
Public Property Let DrawFontBold(Byval Values)
Draw_FontBold = ChkBoolean(Values)
End Property
' ============================================
' 設(shè)置水印文字信息或圖片信息
' ============================================
Public Property Let DrawInfo(Byval Values)
Draw_Info = Values
End Property
' ============================================
' 加載模式:0=不加載水印 ,1=加載水印文字 ,2=加載水印圖片
' ============================================
Public Property Let DrawType(Byval Values)
Draw_Type = ChkNumeric(Values)
End Property
' ============================================
' 圖片添加水印LOGO位置坐標(biāo):"0" =左上,"1"=左下,"2"=居中,"3"=右上,"4"=右下
' ============================================
Public Property Let DrawXYType(Byval Values)
Draw_XYType = Values
End Property
' ============================================
' 生成預(yù)覽圖片大小規(guī)則:"0"=固定縮小,"1"=等比例縮小
' ============================================
Public Property Let DrawSizeType(Byval Values)
Draw_SizeType = Values
End Property
' ============================================
' 檢測(cè)是否數(shù)字型
' ============================================
Private Function ChkNumeric(Byval Values)
If Values<>"" And IsNumeric(Values) Then
ChkNumeric = Int(Values)
Else
ChkNumeric = 0
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -