Uso de script cargado
A continuación se muestra un ejemplo del script cargado para el desarrollo. El archivo de descarga en este artículo proporciona los archivos y el código en el ejemplo. Libere el archivo comprimido en una ruta y configure una ruta virtual para su servidor de red. Puede probar e iniciar el uploadform.html en el navegador.
Llamar script
A continuación se muestra la forma de llamar al método BuildupLoAdRequest. Primero llame a un proceso completo: uploadRequest. Luego llame al método builuploadrequest y luego transmítelo a los datos binarios originales de solicitud en la variable independiente.
byteCount = request.totalbytes
Requestbin = request.binaryRead (byteCount)
Request de carga dim
configurar uploadRequest = createObject
BuilduploadRequest requestbin
Los datos se descomponen y se almacenan en el objeto del diccionario y se recuperan con el método item (). Estos datos del elemento se pueden almacenar en variables VBScript y se pueden usar en cualquier lugar del código. Los datos pueden transmitirse como una respuesta al cliente, o usarse en el código ASP, o en el archivo y poner en la base de datos.
Recuperar datos
Se pueden acceder a los datos del objeto SubloadRequest con la función de elemento ("clave"). Consideremos esta situación ahora: para acceder al valor de un control de correo electrónico. Puedes hacer esto:
Correo electrónico = uploadRequest.Item ("Correo electrónico").
Debido a que este es un control de texto, el contenido es una cadena, esta cadena se puede usar como cualquier otra cadena VBScript. Para datos binarios, puede restaurar el contenido del mismo método:
Piction = uploadRequest.Item ("blob").
También puede acceder a otra información, como el nombre del archivo y el tipo de contenido. Son control de texto.
ContentType = uploadRequest.Item ("Blob").
FilePathName = uploadRequest.Item ("Blob").
Use datos en el código VBScript
Los datos cargados se pueden usar en el código VBScript como otras variables. Por ejemplo, pueden enviar al cliente como respuesta.
Su correo electrónico es: < % = correo electrónico %>
El nombre del archivo de Young es < % = FilePathName %>
El tipo de archivo de su piction es < % = contentType %>
Los datos binarios también se pueden enviar al cliente. Se debe establecer un tipo de contenido y se pueden usar datos binarios para escribir el método BinaryWrite.
Respuesta.ContentType = ContentType Response.BinaryWrite Piction
Escribir datos cargados en el archivo
En el caso del control de la clase de archivo, el propósito es almacenar datos binarios en un dominio de archivo o base de datos en lugar de transmitirlos nuevamente al cliente. Este propósito son las características inherentes de cargar archivos. Use el objeto del sistema de archivos para almacenar el archivo cargado en el sistema de archivos del servidor.
Primero cree un objeto del sistema de archivos:
'Crear archivos de componente de scriptObject = server.createObject ("scripting.filesystemObject")
Use el objeto del sistema de archivos para crear un archivo en la ruta. La ruta puede ser absoluta, apuntando directamente al sistema de archivos (como c:/temp). También puede ser relativo, bajo una ruta virtual definida por el servidor de red. Use el método MAPPATH y la variable de servidor PATH_INFO para llevar la ruta virtual a la ruta absoluta.
El método de escritura requiere una cadena de doble byte como una variable independiente, por lo que el número de byte único se convierte en una cadena. El método de escritura es responsable de convertir esta cadena de doble byte y escribirlo en formato ASCII. Esto establece un contenido binario que contiene nuestra cadena original de un solo byte. He nombrado este archivo "Subido + nombre de archivo".
'Cree y escriba en un archivo establecido myFile = scriptObject.createTextFile (server.mappath (request.servervariables_ ("path_info") y "cargado" y nombre de archivo)
para i = 1 a Lenb (valor)
myFile.write chr (ASCB (MidB (valor, i, 1)))
próximo
myfile.close
Inicio de los datos cargados en la base de datos
Los datos también se pueden almacenar en la base de datos. El tipo de contenido también debe almacenarse en la base de datos para que los datos se puedan mostrar más adelante. En primer lugar, debemos establecer una conexión con la base de datos.
establecer conn = server.createObject ("ADODB.Connection")
Conn.open "dsn = wroxdns", "usuario", "pasar"
Luego cree un conjunto de registros desde la conexión:
Sql = "Seleccione Photo, ContentType de MyTable"
establecer rs = server.createObject
Rs.oopen SQL, Conn, 3, 3, 3
Una vez creado el conjunto de registros, coloque los datos binarios en el dominio BLOB de la base de datos:
PictureChunk = Picture & Chrb (0)
Rs.fields ("Piction").
Rs.fields ("ContentType") = contentType
rs.
Conn.clar
En el método ApendChunk, tengo que resolver un error. De hecho, noté que cuando los datos binarios tienen bytes de números extraños, el método AppendChunk no transmite el último byte. La solución es agregar un chr (0) para garantizar que todos los bytes se transmitan. Tal vez hay otros métodos, si es así, dígame.
Para obtener el reflejo de la base de datos, use el mismo conjunto de registros y use el tipo de contenido correcto para enviarlo al cliente como respuesta.
Response.ContentType = Rs.Fields ("ContentType")
tamaño = Rs.fields ("Piction").
blob = rs.fields ("piction").
Respuesta. BinaryWrite Blob
en conclusión
Este artículo muestra una forma completa de presentar el archivo con VBScript. La codificación es completamente VBScript, independiente de los productos de tercera parte.
Primero introduzca el proceso de carga (utilizando el contenido "multipart/data" para HTML). Luego introduzca el código VBScript cargado en detalle. Al principio, una breve revisión de la función VBScript de la cadena operativa y una única serie de números de bytes. Luego introduzca el código del script y la estructura de cargar los datos.
Finalmente, múltiples propósitos de este script, desde la carga de las variables en el código ASP hasta los sistemas de base de datos o archivos para almacenar archivos de carga.
Haga clic en el enlace a continuación para descargar <a href = "http://www.ancoday.com/articles/images/20000316.zip"> El código de rutina de este artículo.