Maison > interface Web > js tutoriel > Comment télécharger des fichiers avec JavaScript et suivre leur progression ?

Comment télécharger des fichiers avec JavaScript et suivre leur progression ?

Linda Hamilton
Libérer: 2024-11-10 04:38:02
original
995 Les gens l'ont consulté

How to Upload Files with JavaScript and Track Their Progress?

Téléchargement de fichiers avec JavaScript

Pour télécharger un fichier sélectionné via un élément d'entrée, vous pouvez utiliser l'objet FormData. Voici comment procéder :

1. Créez un objet FormData :

let formData = new FormData();
Copier après la connexion

2. Ajoutez le fichier au FormData :

let photo = document.getElementById("image-file").files[0];
formData.append("photo", photo);
Copier après la connexion

3. Envoyer les données au serveur :

À l'aide de l'API fetch, vous pouvez envoyer les données du formulaire à l'URL spécifiée :

fetch('/upload/image', {method: "POST", body: formData});
Copier après la connexion

Écoute de la progression du téléchargement

Pour surveiller la progression du téléchargement, vous pouvez utiliser addEventListener() de EventTarget méthode :

let progressBar = document.getElementById("progress-bar");

formData.addEventListener("progress", (event) => {
    if (event.lengthComputable) {
        let percentComplete = Math.round((event.loaded / event.total) * 100);
        progressBar.style.width = percentComplete + "%";
    }
});
Copier après la connexion

Exemple de code complet

Combinant le téléchargement de fichiers et le suivi de la progression en un seul exemple :

let formData = new FormData();
let photo = document.getElementById("image-file").files[0];
formData.append("photo", photo);

let progressBar = document.getElementById("progress-bar");

fetch('/upload/image', {method: "POST", body: formData})
.then((response) => {
    console.log(response);  // Handle server response
})
.catch((error) => {
    console.error(error);  // Handle upload failure
});

formData.addEventListener("progress", (event) => {
    if (event.lengthComputable) {
        let percentComplete = Math.round((event.loaded / event.total) * 100);
        progressBar.style.width = percentComplete + "%";
    }
});
Copier après la connexion

Ce code créez une requête POST à ​​l'URL "/upload/image", envoyez les données du fichier et affichez la progression du téléchargement à l'aide d'une barre de progression.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal