|
|
Publicado en 8/5/2018 16:30:39
|
|
|

FormData es una introducción y uso detallados https://developer.mozilla.org/zh ... ng_FormData_Objects
Los métodos y eventos de FormData ya son muy claros ahí, así que no perderé tiempo con ellos aquí. Este artículo explica principalmente el uso de objetos FormData y la subida de archivos asíncrona.
El objeto FormData nos permite organizar una colección de pares clave-valor enviados usando el objeto XMLHttpRequest. Se utiliza principalmente para enviar datos de formularios, pero puede emplearse de forma independiente de los datos transferidos mediante formularios.
1. Crear un objeto FormData desde cero
Puedes crear tu propio objeto FormData y luego añadir pares clave-valor al objeto mediante el método append(), así:
Nota: Tanto los campos "userfile" como "webmasterfile" contienen archivos. El número asignado al campo "accountnum" se convierte directamente en cadena mediante el método FormData.append() (el valor del campo puede ser un blob, un archivo o una cadena: si el valor no es ni un blob ni un archivo, se convierte en una cadena). Este ejemplo crea una instancia de FormData con los campos "username", "accountnum", "userfile" y "webmasterfile", y luego utiliza el método send() del objeto XMLHttpRequest para enviar los datos del formulario. El campo "webmasterfile" es una masa. Un objeto blob representa los datos en bruto de un objeto archivo. Pero los datos representados por el blob no tienen que estar en formato nativo de javascript. La interfaz de archivos se basa en blobs, heredando funcionalidad de blob y ampliando su soporte para sistemas de archivos de usuario. Para construir un blob, se puede llamar al constructor Blob().
2. Obtener un objeto FormData de un formulario HTML
Para obtener un objeto FormData que contenga datos de formulario existentes, necesitas especificar el elemento de formulario al crear el objeto FormData.
Así:
También puedes añadir datos adicionales tras obtener el objeto FormData, como esto:
Esto te permite añadir información adicional antes de enviarla, no necesariamente editada por el usuario.
3. Utiliza el objeto FormData para enviar el archivo
Puedes usar FormData para enviar archivos. Un <form>tercer sencillo puede <input>incluir un elemento:
Luego puedes usar el siguiente código para enviarlo:
También puedes añadir un Archivo o Blob directamente al objeto FormData, así:
Al usar el método append(), se puede emplear un tercer parámetro para enviar el nombre del archivo (enviado al servidor mediante la cabecera Content-Disposition). Si el tercer parámetro no se especifica o no se soporta, el tercer parámetro se convierte por defecto en "blob".
Si configuras las opciones correctas, también puedes usarlo con jQuery:
|
Anterior:Descargar 103976 Vocabulario en inglés (versión SQL).Próximo:.net/c# pruebas, computación del servidor y velocidad de IO
|