Red de conocimiento informático - Conocimiento sistemático - Buscamos expertos para solucionar problemas de servidores en asp

Buscamos expertos para solucionar problemas de servidores en asp

Posible causa del error: asp no tiene progreso de carga de componentes.

1. El archivo puede estar en uso: cargando, comprimiendo y empaquetando.

2. Es posible formar archivos de llamada de base de datos anidados e incluidos repetidamente en el código del programa.

Sube el código sin componentes, el que utilizas.

Subir.html

-

& lt! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//ES " " | |

'====================== = ===================================

respuesta. p>Respuesta. ExpiresAbsolute = Now() - 1

Respuesta. Expires = 0

CacheControl = "Sin caché"

Respuesta AddHeader "Pragma", "Sin caché"

% & gt

& lthtml & gt

& lthead & gt

& ltmeta http-equiv = " Tipo de contenido " Contenido = " text/html; charset=gb2312" />

& lttitle & gtCarga de archivos

& lt/head & gt;

& ltbody & gt

& lt%

==================== ========= Definición==================

dim binData, textData, totalBytes

dim stream, file stream, stream

atenuar bCrLf, headMark

atenuar iStart, iEnd, iLen, iHead, iHeadEnd, iHeadLen

Cuerda de cabeza oscura

atenuar inicio de archivo, final de archivo, longitud del archivo

================================Inicialización=== ===== ===========

totalBytes =Solicitud.Número total de bytes

bCrLf = chrB(13)ChrB(10)' retorno Salto de línea de coche

textData=" "

Establecer fStream=servidor("ADODB.Stream")

Establecer fileStream=Servidor")

<. p>Establecer hStream=Server.CreateObject("ADODB. Stream")

fStream.type=1

fStream. Mode=3

fileStream.type=1

Secuencia de archivos. Modo=3

hStream.type=1

hStream.mode=3

fStream.open

====== ======================Subfunción================

Función BinaryToString (biData, Tamaño)

Const adLongVarChar = 201

Establecer RS ​​= CreateObject("ADODB. Recordset")

RS. campo.

Agregue "mBinary", adLongVarChar, Size

RS. Abrir

RS. Añadir nuevo

RS("mBinary "). AppendChunk(biData)

RS. Actualizar

BinaryToString = RS("mBinary "). Valor

RS. Cerrar

Finalizar función

Función saveBinFile(nombre de archivo, posición, longitud)

FileStream.open

fStream. posición = posición

fStream. Copiar a secuencia de archivos, longitud

Secuencia de archivos. Servidor SaveToFile. MapPath (nombre de archivo), 2

Secuencia de archivos. cerrar

response.write "<br><strong>¡Carga completada!</strong><br>;

Respuesta. Write( "& ltbr & gtFile se ha subido a "& server.MapPath(nombre de archivo)" .& ltbr >;)

Función final

La función BtoS(Binario)' convierte datos de bytes en cadena (no puede contener chino).

Atenuar I,S

Para I = 1 a LenB (binario)

S = S&P. Chr(AscB(MidB(Binary, I, 1)))

Entonces

BtoS = S

Fin de función

Analizar binario Transmita, extraiga datos útiles y guárdelos.

Flujo de análisis de funciones (binData)

Respuesta. Write ("<br><strong>Parse Bindata</strong><br>)

Headmark = midb (bindata1, instrb (1, bintatabcrlf)-1)' para obtener el encabezado de verificación.

write(" <br>CRC:"&header&<br>)

iStart=1

iHeadStart =iStart

iEnd=1

Chatea mientras haces & ltTotal número de bytes

iHeadEnd =InStrB(iStart+1, binData, bCrLf & ampbCrLf)

iEnd=InStrB(iStart+1, binData, headMark)

Si iEnd=0, entonces

iEnd = número total de bytes + 1

Respuesta. Write("<br>Análisis completado!<br>;)

Otro

iHeadLen = iHeadEnd-iHeadStart-1

iLen=iEnd-iStart- 1

'=========================================== ==

hStream.open

fStream.position=iHeadStart

fStream, iHeadLen

hStream. hStream.type=2

hStream.="gb2312 "

headString=hStream.readText

Respuesta.

write("<br>title:"&headstring)

hStream.close

hStream.type=1

Atenuar el inicio del nombre del archivo, el final del nombre del archivo, el formato del archivo, la posición del punto

fileNameStart=InStr(1, headString, " filename=")

Respuesta. Escribir ("& ltbr & gthead len: "& amp; len(head string))

Respuesta. Escribir (" & ltbr & gtfilename start: " & amp; filename start)

Si el nombre del archivo comienza & gt "0 entonces" indica que el segmento binario actualmente analizado es un archivo.

Obtener formato de archivo

Respuesta. Write (" & ltbr & gt es el archivo, sí. & ltbr >;)

nombre de archivo final = InStr(nombre de archivo inicio+1, headString, vbNewline)

puntoPos = InStr ( nombre de archivo inicio+1, headString, " ")

fileFormat=Mid(headString, dotPos, fileNameEnd-dotPos-1)

Respuesta (" & ltbr & gt format: "&Formato de archivo& "<br>;)

Guarde el archivo de la siguiente manera

fileStart=iHeadEnd+3

fileEnd=iEnd

fileLen = fileEnd- fileStart-1

Podemos generar dinámicamente el nombre del archivo aquí y guardarlo de la siguiente manera.

saveBinFile "Alay "FileFormat, fileStart, fileLen 'Guarda automáticamente el archivo en el formato correcto con el nombre de archivo Alay.

Terminará si...

Terminará si...

iStart=iEnd+1

iHeadStart=iStart

Anillo

Fin de función

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

binData = Solicitud. Lectura binaria (bytes totales)

fStream. Escribe binData

datos de texto = binario tostring(binData, totalBytes)

Respuesta. write("<br><strong>writebefore:</strong><br><pre>"&text data&"</pre><br>)

Analizar flujo (vincular datos)

% & gt

& lt/body & gt;

& lt/html & gt;

Estarás bien una vez que hayas terminado