Extraiga la descripción del código de los datos secundarios cargados a través del formulario upload request.totalbytes como un archivo binario.
Copie el código de código de la siguiente manera:
<tipo de entrada="archivo">
tamaño del formulario=solicitud.totalbytes
formdata=solicitud.binaryread(tamaño del formulario)
bncrlf=chrB(13) & chrB(10)
divisor=izquierdaB(formdata,clng(instrb(formdata,bncrlf))-1)
inicio de datos = instrb (datos de formulario, bncrlf y bncrlf) +4
final de datos = instrb (inicio de datos + 1, datos de formulario, divisor) -inicio de datos
misdatos=midb(datos del formulario,inicio de datos,final de datos)
tamaño del formulario=solicitud.totalbytes
Obtenga el número máximo de bytes cargados
-----------------------
formdata=solicitud.binaryread(tamaño del formulario)
Obtener datos del formulario de una secuencia binaria
-----------------------
bncrlf=chrB(13) & chrB(10)
Establecer la variable de código de salto de línea y retorno de carro crlf
----------------------------------
divisor=izquierdaB(formdata,clng(instrb(formdata,bncrlf))-1)
Obtenga los datos del byte a la izquierda del primer crlf
instrb(formdata,bncrlf)-1 La máquina verifica que el valor de bit del byte binario crlf sea menos uno, que son los datos binarios antes de la información del indicador. Cabe señalar que instrb devuelve clng, por lo que se agrega un clng aquí. redundante
----------------------------------
inicio de datos = instrb (datos de formulario, bncrlf y bncrlf) +4
Obtenga los datos de la imagen y elimine la posición inicial de la información del encabezado agregada por el formulario, que es la posición inicial del byte de los datos del archivo real después de enviar su tipo = archivo en el formulario.
La posición de dos crlfs consecutivos + 4 (es decir, la longitud de dos crlfg)
----------------------------------
final de datos = instrb (inicio de datos + 1, datos de formulario, divisor) -inicio de datos
La posición de los datos + 1 obtenida de lo anterior se utiliza como valor de cálculo de referencia para verificar el final de los datos. La posición de la primera información del encabezado delimitador del formulario binario se devuelve a la posición que comienza desde el inicio de datos + 1, y luego la posición relativa. de datastar se resta.
----------------------------
misdatos=midb(datos del formulario,inicio de datos,final de datos)
midb() toma el formato de bit final de estrella de los datos del archivo cargado obtenidos a través de muchos giros y vueltas.
ok --------------> Ahora extraiga limpiamente los datos secundarios cargados
Nota:
(1). Todas las funciones VB de la serie B se procesan por bytes. Deben usarse para procesar sistemas secundarios.
(2) Después de enviar .type=file y los datos del formulario correspondiente, se adjunta la información del encabezado correspondiente a cada campo del archivo.
Por lo tanto, se debe utilizar el algoritmo anterior para encontrar claramente los datos del archivo real.
(3 Al mismo tiempo, la información del encabezado también contiene los datos del nombre del archivo inicial cargado, como c:/aaa/aaa.jpg. Los datos del formulario se pueden procesar de la misma manera para extraer el nombre del archivo preliminar. de los datos del dominio del archivo.
(4). Estos algoritmos se derivan de los datos de formato proporcionados por la especificación de "formulario" http, por lo que los algoritmos de procesamiento de cualquier empresa son similares.