Colección de citas famosas - Colección de versos - Ayude a ASP a resolver problemas

Ayude a ASP a resolver problemas

Parece que estás subiendo sin componentes. El código del componente es el siguiente; ScriptTimeOut=9999

dim Data_5xsoft

Curso upload_5xsoft

forma de objeto tenue, archivo de objeto, versión

Formulario de función pública

p>

strForm=lcase(strForm)

Si no es objForm.exists(strForm), entonces

Form = " "

Otro< /p >

Form=objForm(strForm)

Terminará si...

Finalizar función

Archivo de función pública (strFile)

strFile=lcase(strFile)

Si no es objFile.exists(strFile), entonces

Establecer archivo = nueva información del archivo

Otros

set File=objFile(strFile)

Terminará si...

Finalizar función

Subclase privada_Initialize

dim Solicitar datos, sStart, vbCrlf, sInfo, iInfoStart, iInfoEnd, tStream, iStart, archivo

dim iFileSize, sFilePath, sFileType, sFormvalue, sFileName

dim iFindStart, iFindEnd

atenuar iFormStart, iFormEnd, sFormName

establecer objForm=Servidor. CreateObject("Script.Dictionary》)

Establezca objFile=Server.CreateObject("Script.Dictionary》)

Si es necesario. TotalBytes & lt1 luego sale del conector

Establezca tStream = Server. CreateObject("adodb.stream ")

set Data_5xsoft = Servidor. CreateObject("adodb.stream ")

Data_5xsoft. Tipo = 1

Data_5xsoft. modo=3

Data_5xsoft. Abra

Data_5xsoft. Escribe una solicitud. BinaryRead(request.totalbytes)

Data_5xsoft. Ubicación=0

RequestData=Data_5xsoft. Leer

iFormStart = 1

IFormEnd = LenB(RequestData)' Esta es la longitud de toda la información enviada y donde termina la información.

vbCrlf = chrB(13)chrB(10)

Sstart = MIDB (RequestData, 1, instrb (Iformstart, RequestData, VBCRLF)-1)'Cada elemento del formulario comienza anteriormente allí era un identificador de inicio.

Form:Content-Disposition:Form-data; Name= "Nombre del elemento del formulario"; Filename= "Ruta completa para cargar el archivo local" CHR(13)CHR(10)Content-type:text/ simple CHR(13)CHR(10)CHR(13).

Si no es un archivo, se ve así: Content-Disposition: Form-Data; Name= "Nombre del elemento del formulario" CHR(13)CHR(10)CHR(13)CHR(10) )Del elemento de formulario El valor pasado por CHR(13)CHR(10).

Tenga en cuenta que CHR(13) representa el retorno de carro y CHR(10) representa el avance de línea; esto devolverá el contenido del identificador inicial fijo.

ISart = LenB (sStart)'La longitud del identificador de inicio.

iform start = iform start+istart+1 'La posición inicial del elemento del formulario.

while(iFormStart+10)<' IFormEnd 'Porque al final de los datos, no está el identificador de inicio, sino el identificador de fin"-7d 61773720616-chr(654438.

iInfoEnd = InStrB(iFormStart, RequestData, vbCrlf & ampVbCrlf)+3 'Encuentra la posición final de la parte de descripción del elemento del formulario

tStream.

Mode=3. /p>

tStream.

Data _ 5xsoft. Establezca la posición inicial al principio de la sección de descripción del elemento del formulario. mstart 'Escribe temporalmente la parte de descripción del elemento de formulario en tStream en formato binario

tStream. Position = 0

tStream. >

SInfo = tStream. "ReadText" escribe información en forma de texto en la variable sinfo

Obtiene el nombre del elemento del formulario

Iformstart = instrb (iinfoend, requestdata, sstart) 'Encuentra la posición binaria inicial del separador del siguiente elemento del formulario, que se usará más adelante

Ifindstart = instr (22, sinfo, " name = ", 1)+6 'Formulario - los datos. descrito por el elemento de formulario; comience a ubicar la posición inicial de nombre = ", que es el número de caracteres. Luego ubique nombre = "Después, el parámetro "1" representa la comparación en forma de texto.

Ifindend = instr (ifinstart, sinfo, """, 1) 'coloca el siguiente "número, de modo que la parte entre ellos sea el valor del atributo form nane

S formname = lcase (mid (sinfo. , ifindstart, ifindstart))' ¡Mira! Obtener

Si es un archivo InStr (45, sInfo, " filename = " ", 1)> entonces 0

Establecer archivo =. new fileinfo' La clase fileinfo se define más adelante.

Obtener el nombre del archivo

iFindStart = InStr(iFindEnd, sInfo, " filename = " ", 1) + 10

iFindEnd = InStr(iFindStart, sInfo, """", 1)

sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)

Archivo. NombreDeArchivo=getNombreDeArchivo(sNombreDeArchivo)

Archivo.

FilePath=getFilePath(sFileName)

Archivo. FileExt=getFileExt(sFileName)

Obtener tipo de documento

Ifindstart = instr (ifinend, sinfo, "content-type:", 1)+14 'Compruébalo tú mismo.

Ifindend = instr (ifindstart, sinfo, vbCr)' vbcr representa el retorno de carro. ¿No es la posición inicial de CHR(13)CHR(10) la posición inicial de vbCr?

Archivo. FileType =Mid (sinfo, iFindStart, iFindEnd-iFindStart)

Obtener datos del archivo

Archivo. FileStart =iInfoEnd 'La ubicación donde comienzan los datos reales del archivo.

Archivo. ' tamaño de archivo = iFormStart-iinfo end-3 'Aquí se utiliza el iFormStart anterior, el frente son los datos reales de este elemento de formulario y el reverso es la parte del siguiente elemento de formulario. ¿Por qué restar 3 para obtener la longitud del archivo?

Archivo. FormName=sFormName

Si no es objFile. Si (sFormName) existe, entonces

' ObjFile.add sFormName, theFile 'Agrega el objeto Archivo de la clase FileInfo al diccionario ObjFile, cuya clave es el atributo Nombre del elemento de formulario.

Terminará si...

Otro

Si es un elemento de formulario.

tTransmitir. Escriba =1

tStream. Modo=3

tStream. Abra

Data_5xsoft. Posición = iInfoEnd 'La posición inicial de los datos reales del elemento del formulario.

Datos_5xsoft. copiar a tStream, iformstart-iinfo end-3 'Copia temporalmente los datos reales a tStream.

tTransmitir. Posición = 0

tStream. Tipo = 2

TStream. Charset ="gb2312 " 'Convertir a texto.

sFormvalue = tStream. 'Leer texto'

tStream. Cerrar

si objForm. existe(sFormName) entonces

obj form(s formname) = obj form(s formname)&","&sFormvalue

Otro

objForm. Agregue sFormName, sFormvalue

Terminará si...

Terminará si...

iform start = iform start+istart+1 'Obtener el siguiente elemento del formulario La posición inicial de la parte de descripción, iniciando así el siguiente ciclo.

Fila

RequestData= " "

Establecer tStream =nada

Conector final

Subclase privada_Terminación

Si se solicita. TotalBytes & gt luego 0

objForm. Eliminar todos

objFile. Eliminar todo

set objForm=nada

set objFile=nada

Data_5xsoft.

Cerrar

establecer datos _ 5xsoft = Ninguno

Terminará si...

Finalizar conector

Función privada GetFilePath(FullPath)

p>

Si FullPath & lt& gt" "Entonces

GetFilePath = left(FullPath, InStrRev(FullPath, " \ "))

Otro

GetFilePath = " "

Terminará si...

Finalizar función

Función privada GetFileName (ruta completa)

Si FullPath & lt& gt" "Entonces

GetFileName = mid(FullPath, InStrRev(FullPath, " \")+1)

Otro

GetFileName = " "

Terminará si...

Función final

Función privada GetFileExt (ruta completa)

Si FullPath & lt& gt""Entonces

GetFileExt = mid(FullPath, InStrRev(FullPath, " "))

Otro

GetFileExt = " "

Terminará si...

Finalizar función

Finalizar clase

Clase FileInfo

nombre de formato tenue, nombre de archivo, ruta del archivo, tamaño del archivo, tipo de archivo, inicio del archivo, extensión del archivo

Subclase privada_Initialize

Nombre del archivo = " "

Ruta del archivo = " "

Tamaño de archivo = 0

Inicio de archivo= 0

FormName = " "

FileType= " "

FileExt= " "

Conector final

Función pública Guardar como (ruta completa)

dim dr, ErrorChar, I

Guardar como=true

Salga de la función si trim(fullpath)=" " o FileStart=0 o FileName=" " o right(fullpath, 1)="/"

set dr=CreateObject(" Adodb.Stream" )

Modo Doctor=3

dr.Type=1

Abrir Doctor

Data_5xsoft.position=FileStart

Data_5xsoft.copyto recuperación ante desastres, tamaño del archivo

Dr guardar ruta completa del archivo, 2

Dr Cross

Establecer dr = Ninguno

SaveAs=false

Finalizar función

Finalizar clase

% & gt

Lo guardas como carga. inc, luego escribe