Wind sound without components

xiaoxiao2021-03-06  50

code:

<%

'------------------------------------- ---------

'**************** Foil no component upload class 2.0 ***************************

'Author: wind

'website:

http://www.17560.net

http://www.54nb.com

'Mail: rumor@17560.net

'Copyright: All rights, source code is open, all use can be used free

'********************************************************** **********

'------------------------------------- ---------

Class UploadClass

Private p_maxsize, p_filetype, p_savepath, p_autosave, p_error

Private Objform, Binform, Binitem, StRDATE, LNGTIME

Public FormItem, FileItem

Public property Get Version

Version = "Rumor UploadClass Version 2.0"

End Property

Public property Get Error

Error = p_error

End Property

Public property get maxsize

MaxSize = p_maxsize

End Property

Public Property Let MaxSize (LNGSIZE)

IF isnumeric (lngsize) THEN

p_maxsize = clng (LNGSIZE)

END IF

End Property

Public property Get FileType

FILETYPE = P_FileType

End Property

Public property Let FileType (StrtYPE)

p_filetype = startpe

End Property

Public property Get SavePath

SavePath = p_savepath

End Property

Public Property Let SavePath (StrPath)

p_savepath = replace (strpath, chr (0), "")

End Property

Public property Get AutoSave

AutoSave = p_autosave

End Property

Public property let autosave (Byval Flag)

SELECT CASE FLAG

Case 0:

Case 1:

Case 2:

Case False: Flag = 2

Case Else: Flag = 0

End SELECT

p_autosave = flag

End Property

Private sub coplass_initialize

p_error = -1

p_maxsize = 153600

p_filetype = "jpg / gif"

p_savepath = "" "

p_autosave = 0

STRDATE = Replace (CSTR (Date ()), "-", "")

LNGTIME = ClNG (Timer () * 1000)

Set binform = server.createObject ("adodb.stream") set binitem = server.createObject ("adodb.stream")

Set Objform = Server.createObject ("scripting.dictionary")

Objform.comParemode = 1

End Sub

Private sub coplass_terminate

Objform.removeall

Set objform = Nothing

Set binitem = Nothing

Binform.close ()

Set binform = Nothing

End Sub

Public Sub open ()

IF p_error = -1 Then

P_ERROR = 0

Else

EXIT SUB

END IF

Dim LngRequestsize, BinRequestData, StrformItem, StrfileItem

Const strsplit = "'" ">"

LNGREQUESTSIZE = Request.totalbytes

IF lngRequestsize <1 THEN

p_ERROR = 4

EXIT SUB

END IF

BinRequestData = Request.binaryRead (LNGRequestsize)

Binform.Type = 1

Binform.open

Binform.write binRequestData

DIM BCRLF, STRSEPARATOR, INTSEPARATOR

BCRLF = Chrb (13) & chrb (10)

INTSEPARATOR = INSTRB (1, BinRequestData, BCRLF) -1

Strseparator = Leftb (binRequestData, INTSEPARATOR)

DIM P_START, P_END, STRITEM, STRINAM, INTTEMP, STRTEMP

DIM STRFTYP, STRFNAM, STRFEXT, LNGFSIZ

p_start = INTSEPARATOR 2

DO

P_END = INSTRB (P_Start, BinRequestData, BCRLF & BCRLF) 3

Binitem.Type = 1

Binitem.open

Binform.position = p_start

Binform.couthto Binitem, P_END-P_START

Binitem.position = 0

Binitem.Type = 2

Binitem.Charset = "GB2312"

Stritem = Bintem.readText

Binitem.close ()

p_start = p_end

p_END = INSTRB (p_start, binRequestData, strsEParetor) -1

Binitem.Type = 1

Binitem.open

Binform.position = p_start

LNGFSIZ = P_END-P_START-2

Binform.couthto Binitem, LNGFSIZ

INTTEMP = INSTR (39, Stritem, "" "")

Strinam = MID (Stritem, 39, INTEMP-39)

IF INSTEMEM, "FileName =" "") <> 0 Thenif Not Objform.exists (Strinam & "_ from") THEN

StrfileItem = StrfileItem & strsplit & strinam

IF binitem.size <> 0 THEN

INTTEMP = INTTEMP 13

StrfTyp = MID (Stritem, INSTR (INTTEMP, STRITEM, "Content-Type:") 14)

Strtemp = MID (StriteM, INTTEMP, INSTR (INTTEMP, STRITEM, "" ") - INTTEMP)

INTTEMP = INSTRREV (strTemp, "/")

Strfnam = MID (strTemp, INTTEMP 1)

Objform.add Strinam & "_ type", strftyp

Objform.add Strinam & "_ name", strfnam

Objform.add Strinam & "_ Path", Left (Strtemp, INTTEMP)

Objform.Add Strinam & "_ size", LNGFSIZ

IF INSTR (INTTEMP, STRTEMP, ".") <> 0 THEN

Strfext = MID (Strtemp, INSTRRREV (strTemp, ".") 1)

Else

Strfext = "" "

END IF

IF LEFT (StrfTyp, 6) = "Image /" THEN

Binitem.position = 0

Binitem.Type = 1

Strtemp = Bintem.read (10)

IF STRCOMP (Strtemp, CHRB (255) & chrb (216) & chrb (255) & chrb (224) & chrb (0) & chrb (16) & chrb (74) & chrb (70) & chrb (73) & Chrb (70), 0) = 0 THEN

If LCASE (STRFEXT) <> "jpg" Then Strfext = "jpg"

Binitem.position = 3

Do While Not Bintem.eos

DO

INTTEMP = ASCB (Binitem.Read (1))

Loop while intTEMP = 255 and not binitem.eos

IF INTTEMP <192 or IntTemp> 195 Then

Bintem.read (bin2val (binitem.read (2)) - 2)

Else

Exit do

END IF

DO

INTTEMP = ASCB (Binitem.Read (1))

Loop While IntTemp <255 and not binitem.eos

loop

Bintem.read (3)

Objform.add Strinam & "_ Height", Bin2val (Binitem.Read (2))

Objform.add Strinam & "_ width", bin2val (binitem.read (2))

Elseif Strcomp (Leftb (Strtemp, 8), CHRB (137) & chrb (80) & chrb (78) & chrb (71) & chrb (13) & chrb (10) & chrb (26) & chrb (10), 0) = 0 THENIF LCASE (STRFEXT) <> "png" the StrFext = "PNG"

Binitem.Position = 18

Objform.add Strinam & "_ width", bin2val (binitem.read (2))

Binitem.read (2)

Objform.add Strinam & "_ Height", Bin2val (Binitem.Read (2))

Elseif Strcomp (LEFTB (STRTEMP, 6), CHRB (71) & chrb (73) & chrb (70) & chrb (56) & chrb (57) & chrb (97), 0) = 0 or strcomp (standb (strTemp , 6), CHRB (71) & chrb (73) & chrb (70) & chrb (56) & chrb (55) & chrb (97), 0) = 0 THEN

If LCASE (STRFEXT) <> "gif" the StrFext = "gif"

Binitem.position = 6

Objform.add Strinam & "_ width", binval2 (binitem.read (2))

Objform.add strinam & "_ height", binval2 (Binitem.Read (2))

Elseif Strcomp (LEFTB (Strtemp, 2), Chrb (66) & Chrb (77), 0) = 0 THEN

If LCASE (STRFEXT) <> "bmp" Then Strfext = "BMP"

Binitem.Position = 18

Objform.add Strinam & "_ width", binval2 (binitem.read (4))

Objform.add Strinam & "_ Height", binval2 (Binitem.Read (4))

END IF

END IF

Objform.add Strinam & "_ EXT", strgrfect

Objform.Add Strinam & "_ from", P_Start

INTTEMP = GetFerr (LNGFSIZ, STRFEXT)

IF P_AUTOSAVE <> 2 THEN

Objform.add Strinam & "_ Err", IntTemp

IF INTTEMP = 0 THEN

IF p_autosave = 0 THEN

Strfnam = getTimeStr ()

IF strgrfext <> "" "" & strfext

END IF

Binitem.Savetofile Server.mappath (p_savepath & strfnam), 2

Objform.add Strinam, Strfnam

END IF

END IF

Else

Objform.Add Strinam & "_ Err", - 1

END IF

End ifelse

Binitem.position = 0

Binitem.Type = 2

Binitem.Charset = "GB2312"

Strtemp = Binitem.ReadText

IF Objform.exists (Strinam) THEN

Objform (Strinam) = Objform (Strinam) & "& Strtemp

Else

StrformItem = Strformitem & Strsplit & Strinam

Objform.add Strinam, Strtemp

END IF

END IF

Binitem.close ()

p_start = p_end INTSEPArator 2

Loop unsil p_start 3> LNGRequestsize

FormItem = SPLIT (StrformItem, strsplit)

FileItem = SPLIT (StrfileItem, strsplit)

End Sub

Private function getTimeStr ()

LNGTIME = LNGTIME 1

GetTimeStr = STRDATE & LNGTIME

END FUNCTION

Private function GetFerr (LNGFSIZ, STRFEXT)

DIM INTFERR

INTFERR = 0

IF LNGFSIZ> P_MAXSIZE AND P_MAXSIZE> 0 THEN

IF p_error = 0 or p_ERROR = 2 THEN P_ERROR = P_ERROR 1

INTFERR = INTFERR 1

END IF

IF INSTR (1, LCase ("/"), LCase ("/" & strfext & ")) = 0 and p_filetype <>" "" "

IF p_ERROR <2 THEN P_ERROR = P_ERROR 2

INTFERR = Intferr 2

END IF

GetFerr = Intferr

END FUNCTION

Public Function Save (Item, Strfnam)

Save = false

IF Objform.exists (item & "_") THEN

DIM INTFERR, STRFEXT

Strfext = Objform (item & "_ _")

INTFERR = GetFerr (Objform (item & "i _ _"), strgrfext)

IF Objform.exists (item & "_ err") THEN

IF intferr = 0 THEN

Objform (item & "_ er") = 0

END IF

Else

Objform.Add Item & "_ Err", intferr

END IF

IF Intferr <> 0 THEN EXIT FUNCTION

if Vartype (Strfnam) = 2 THEN

Select Case Strfnam

Case 0: Strfnam = getTimeStr ()

IF strgrfext <> "" "" & strfext

Case 1: Strfnam = Objform (item & "_ name")

End SELECT

END IF

Binitem.Type = 1

Binitem.open

Binform.Position = Objform (item & "_ from")

Binform.copyto Binitem, Objform (item & "_ size")

Binitem.Savetofile Server.mappath (p_savepath & strfnam), 2

Binitem.close ()

IF Objform.exists (item) THEN

Objform (item) = strfnam

Else

Objform.Add item, strfnam

END IF

Save = true

END IF

END FUNCTION

Public Function GetData (item)

GetData = ""

IF Objform.exists (item & "_") THEN

IF GetFerr (Objform (item & "_ size"), objform (item & "_ ext") <> 0 THEN EXIT FUNCTION

Binform.Position = Objform (item & "_ from")

GetData = BinformStream.read (Objform (item & "_ size"))

END IF

END FUNCTION

Public Function Form (Item)

IF Objform.exists (item) THEN

Form = Objform (item)

Else

Form = ""

END IF

END FUNCTION

Private function binval2 (bin)

Dim lngvalue, i

LNGVALUE = 0

For i = lenb (bin) TO 1 Step -1

LNGVALUE = LNGVALUE * 256 ASCB (MIDB (BIN, I, 1)))

NEXT

Binval2 = lngvalue

END FUNCTION

Private function bin2val (bin)

Dim lngvalue, i

LNGVALUE = 0

For i = 1 to lenb (bin)

LNGVALUE = LNGVALUE * 256 ASCB (MIDB (BIN, I, 1)))

NEXT

Bin2val = LNGVALUE

END FUNCTION

END CLASS

%>

转载请注明原文地址:https://www.9cbs.com/read-84517.html

New Post(0)