Digamos que tengo este elemento en la página:
<input id="image-file" type="file" />
Esto creará un botón que permite a los usuarios de la página web seleccionar un archivo a través de un cuadro de diálogo "Abrir archivo ..." del sistema operativo en el navegador.
Digamos que el usuario hace clic en dicho botón, selecciona un archivo en el cuadro de diálogo y luego hace clic en el botón "Aceptar" para cerrar el cuadro de diálogo.
El nombre del archivo seleccionado ahora se almacena en:
document.getElementById("image-file").value
Ahora, supongamos que el servidor maneja las POST de varias partes en la URL "/ upload / image".
¿Cómo envío el archivo a "/ upload / image"?
Además, ¿cómo escucho las notificaciones de que el archivo ha terminado de cargarse?
javascript
file-upload
YummyBánhMì
fuente
fuente
Respuestas:
A menos que esté intentando cargar el archivo usando ajax, simplemente envíe el formulario a
/upload/image
.Si desea cargar la imagen en segundo plano (por ejemplo, sin enviar el formulario completo), puede usar ajax:
fuente
JS puro
Puede usar fetch opcionalmente con await-try-catch
Mostrar fragmento de código
Enfoque de la vieja escuela - xhr
Mostrar fragmento de código
RESUMEN
filename
parámetro formData.Content-Type
enmultipart/form-data
: el navegador lo configurará automáticamente./upload/image
usted puede usar la dirección completa comohttp://.../upload/image
.multiple
atributo:<input multiple type=... />
y adjunte todos los archivos elegidos a formData de manera similar (por ejemplophoto2=...files[2];
...formData.append("photo2", photo2);
)let user = {name:'john', age:34}
de esta manera:formData.append("user", JSON.stringify(user));
fuente
enctype="multipart/form-data"
net::ERR_ABORTED 405 (Method Not Allowed)