Disons que j'ai cet élément sur la page:
<input id="image-file" type="file" />
Cela créera un bouton qui permet aux utilisateurs de la page Web de sélectionner un fichier via une boîte de dialogue OS "Fichier ouvert ..." dans le navigateur.
Supposons que l'utilisateur clique sur ledit bouton, sélectionne un fichier dans la boîte de dialogue, puis clique sur le bouton «Ok» pour fermer la boîte de dialogue.
Le nom de fichier sélectionné est maintenant stocké dans:
document.getElementById("image-file").value
Maintenant, disons que le serveur gère les POST en plusieurs parties à l'URL "/ upload / image".
Comment envoyer le fichier vers "/ upload / image"?
De plus, comment écouter la notification indiquant que le téléchargement du fichier est terminé?
javascript
file-upload
YummyBánhMì
la source
la source
Réponses:
À moins que vous n'essayiez de télécharger le fichier en utilisant ajax, soumettez simplement le formulaire à
/upload/image
.Si vous souhaitez télécharger l'image en arrière-plan (par exemple sans soumettre le formulaire entier), vous pouvez utiliser ajax:
la source
Pure JS
Vous pouvez utiliser fetch en option avec await-try-catch
Afficher l'extrait de code
Approche old school - XHR
Afficher l'extrait de code
RÉSUMÉ
filename
paramètre formData.Content-Type
surmultipart/form-data
- cela sera automatiquement défini par le navigateur./upload/image
vous pouvez utiliser une adresse complète commehttp://.../upload/image
.multiple
attribut<input multiple type=... />
:, et attachez tous les fichiers choisis à formData de la même manière (par exemplephoto2=...files[2];
...formData.append("photo2", photo2);
)let user = {name:'john', age:34}
de cette manière:formData.append("user", JSON.stringify(user));
la source
enctype="multipart/form-data"
net::ERR_ABORTED 405 (Method Not Allowed)