Maison >interface Web >js tutoriel >Comment utiliser AJAX et FormData pour les téléchargements de fichiers ?

Comment utiliser AJAX et FormData pour les téléchargements de fichiers ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-16 08:45:10691parcourir

How to Use AJAX and FormData for File Uploads?

Téléchargement de fichiers AJAX avec FormData

Dans le contexte du HTML dynamique, vous avez généré un formulaire de téléchargement de fichiers par glisser-déposer et disposez du code JavaScript pour soumettre le formulaire en utilisant AJAX. Cependant, pour faciliter le téléchargement de fichiers à l'aide de FormData, vous avez besoin d'ajustements.

Préparations

Pour utiliser FormData, choisissez l'une des options suivantes :

  • Fournir l'intégralité du formulaire pour le traitement :
var form = $('form')[0];
var formData = new FormData(form);
  • Préciser les données exactes pour FormData :
var formData = new FormData();
formData.append('section', 'general');
formData.append('action', 'previewImg');
// Attach file
formData.append('image', $('input[type=file]')[0].files[0]);

Envoi du formulaire

Utilisez l'extrait jQuery fourni :

$.ajax({
    url: 'Your url here',
    data: formData,
    type: 'POST',
    contentType: false,
    processData: false,
    // ... Other options like success and etc
});

Cette requête imitera une demande régulière soumission de formulaire avec enctype="multipart/form-data", vous permettant de télécharger des fichiers avec succès.

Remarque :N'oubliez pas de spécifier le type : "POST" dans les options, car les téléchargements de fichiers nécessitent des requêtes POST.

Mise à jour : Démarrage avec jQuery 1.6, contentType: false est pris en charge.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn