Maison  >  Article  >  interface Web  >  Comment réaliser l'affichage de la progression du téléchargement et du téléchargement de fichiers via vue et Element-plus

Comment réaliser l'affichage de la progression du téléchargement et du téléchargement de fichiers via vue et Element-plus

WBOY
WBOYoriginal
2023-07-18 08:04:433632parcourir

Comment afficher la progression du téléchargement et du téléchargement de fichiers via Vue et Element-plus

Dans les applications Web, il est très courant d'implémenter le téléchargement et le téléchargement de fichiers. L'affichage de la progression des téléchargements et des téléchargements de fichiers peut aider les utilisateurs à comprendre la progression de l'opération et à améliorer l'expérience utilisateur. Cet article expliquera comment afficher la progression du téléchargement et du téléchargement de fichiers via Vue et Element-plus, et fournira des exemples de code pertinents.

Element-plus est une bibliothèque de composants Vue qui fournit des composants d'interface utilisateur riches et des fonctions couramment utilisées. Nous utiliserons les composants Upload et Progress dans Element-plus pour afficher la progression du téléchargement et du téléchargement des fichiers.

Tout d'abord, nous devons installer et introduire Element-plus. Dans le répertoire racine du projet, exécutez la commande suivante pour installer :

npm install element-plus --save

Introduisez Element-plus dans le fichier d'entrée main.js de Vue :

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/lib/theme-chalk/index.css'

createApp(App).use(ElementPlus).mount('#app')

Ensuite, nous devons créer un composant Vue avec des fonctions de téléchargement et de téléchargement. Dans le modèle de ce composant, utilisez le composant Upload pour implémenter la fonction de téléchargement de fichiers et utilisez le composant Progress pour afficher la progression du téléchargement et du téléchargement.

<template>
  <div>
    <div>
      <el-upload
        class="upload-demo"
        action="/api/upload"
        :on-progress="handleUploadProgress"
        :on-success="handleUploadSuccess"
        :before-remove="beforeRemove"
      >
        <el-button size="small" type="primary">点击上传</el-button>
      </el-upload>
      <el-progress :percentage="uploadProgress" />
    </div>
    <div>
      <el-button size="small" type="primary" @click="handleDownload">下载文件</el-button>
      <el-progress :percentage="downloadProgress" />
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      uploadProgress: 0,
      downloadProgress: 0
    }
  },
  methods: {
    handleUploadProgress(event, file, fileList) {
      this.uploadProgress = event.percent
    },
    handleUploadSuccess(response, file, fileList) {
      // 上传成功后的处理逻辑
    },
    handleDownload() {
      // 下载文件的逻辑
    },
    downloadProgress() {
      // 更新下载进度
    }
  }
}
</script>

Dans le code ci-dessus, nous utilisons l'événement on-progress du composant Upload pour mettre à jour la progression du téléchargement, et utilisons le composant Progress pour afficher la progression du téléchargement et du téléchargement. La méthode handleUploadProgress sera déclenchée pendant le processus de téléchargement du fichier. L'événement paramètre contient des informations sur la progression du téléchargement et nous l'attribuons à uploadProgress. La méthode handleUploadSuccess sera déclenchée une fois le téléchargement réussi du fichier, et la logique une fois le téléchargement réussi peut être traitée ici.

Pour les téléchargements de fichiers, nous pouvons utiliser la fonction de téléchargement fournie avec le navigateur, puis utiliser setInterval pour obtenir régulièrement la progression du téléchargement et mettre à jour downloadProgress.

handleDownload() {
  const downloadUrl = '/api/download'
  window.open(downloadUrl, '_blank')
  setInterval(this.updateDownloadProgress, 1000)
},
updateDownloadProgress() {
  // 获取下载进度,更新downloadProgress
}

Dans le code ci-dessus, nous ouvrons le lien de téléchargement via window.open, puis utilisons setInterval pour appeler régulièrement la méthode updateDownloadProgress pour obtenir la progression du téléchargement. On suppose ici que nous avons une interface /api/download pour renvoyer le. informations sur la progression du téléchargement du fichier.

Grâce à l'implémentation du code ci-dessus, nous pouvons réaliser l'affichage de la progression du téléchargement et du téléchargement de fichiers dans l'application Vue. En utilisant les composants Upload et Progress fournis par Element-plus, combinés à la gestion des événements et des statuts de Vue, vous pouvez facilement implémenter cette fonction et améliorer l'expérience utilisateur.

Résumé : cet article explique comment afficher la progression du téléchargement et du téléchargement de fichiers via Vue et Element-plus. Cette fonction peut être facilement réalisée en utilisant les composants Upload et Progress, combinés à la gestion des événements et des statuts. J'espère que cet article pourra vous aider.

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