recherche
Maisoninterface Webuni-appParlons des opérations de téléchargement et de suppression de photos d'Uniapp

Ces dernières années, Uniapp est devenue le premier choix de plus en plus de développeurs dans le domaine du développement d'applications mobiles. Uniapp est un nouveau cadre de développement grâce auquel les développeurs peuvent développer des applications multiterminaux, améliorant ainsi l'efficacité du développement des ingénieurs. Cet article fournira une introduction détaillée et une explication des opérations de téléchargement et de suppression de photos d'Uniapp.

1. Implémentation du téléchargement d'images

La sélection de caméras et d'images est l'une des fonctions courantes. Uniapp fournit une interface API riche, qui permet la sélection et la sélection d'images via des caméras, des albums photo, des moments WeChat, des fichiers en ligne, etc. possible. Ci-dessous, nous présenterons en détail comment l'interface API d'Uniapp implémente la fonction de téléchargement d'images.

  1. Sélectionnez des images et téléchargez-les

Uniapp fournit un composant très facile à utiliser, uni-upload, qui peut télécharger des fichiers de manière asynchrone. Ensuite, la fonction de sélection des images à télécharger est implémentée via uni-upload.

Ajoutez d'abord le code suivant sur la page front-end :

<view>
   <uni-upload>
     <view>上传图片</view>
   </uni-upload>
</view>

Dans ce code, nous définissons un composant uni-upload, où l'attribut upload-url est l'adresse URL de téléchargement de l'image, on-success et on-fail correspondent respectivement aux fonctions de rappel pour le succès et l'échec du téléchargement. L'attribut @click déclenche la fonction de téléchargement après avoir cliqué. uni-upload组件,其中upload-url属性是图片上传的URL地址,on-successon-fail分别对应上传成功和失败的回调函数。@click属性是点击后触发上传函数。

然后我们需要在Vue实例中配置successfail两个回调函数:

methods: {
   success(res){
     console.log("上传成功");
   },
   fail(err){
     console.log("上传失败");
   },
   upload(){
     uni.chooseImage({
       sizeType: ['compressed'],
       sourceType: ['album', 'camera'],
       success: (res) => {
         const tempFilePaths = res.tempFilePaths;
         uni.uploadFile({
           url: this.uploadUrl,
           filePath: tempFilePaths[0],
           name: 'file',
           success: (res) => {
            this.success(res)
           },
           fail: (err) => {
            this.fail(err)
           }
         });
       }
     });
   }
}

这段代码中,我们首先定义了successfail两个回调函数,当上传成功或者失败后,就会执行相应的回调函数。在upload函数中,我们使用uni.chooseImage方法选择图片,获取到临时文件路径,并使用uni.uploadFile方法将文件上传到服务器。name属性表示文件对应的键值,即服务器上接收文件的参数名。

这样就实现了在Uniapp中选择图片并上传的功能。

  1. 上传图片并获取返回结果

在上传图片的过程中,我们需要在上传成功后获取到后端返回的结果,这样可以获取到上传图片的URL地址或者其他图片上传的信息。

uni.uploadFile这个接口中,我们在success回调函数中增加一个参数,用来接收上传成功后后端返回的结果。修改后的代码如下:

methods: {
   success(res){
     const data = res.data;
     console.log(data);
     console.log("上传成功");
   },
   fail(err){
     console.log("上传失败");
   },
   upload(){
     uni.chooseImage({
       sizeType: ['compressed'],
       sourceType: ['album', 'camera'],
       success: (res) => {
         const tempFilePaths = res.tempFilePaths;
         uni.uploadFile({
           url: this.uploadUrl,
           filePath: tempFilePaths[0],
           name: 'file',
           success: (res) => {
            this.success(res);
           },
           fail: (err) => {
            this.fail(err);
           }
         });
       }
     });
   }
}

上面的代码中我们在success中打印了服务器返回的数据。

二、图片删除的实现

在我们的应用程序中,有时候需要删除已经上传的图片,这样可以节省存储空间并达到优化程序的目的,Uniapp提供了很多API接口来实现这个功能。下面给出两种方式:

  1. 使用uni.removeSavedFile方法删除图片

这种方式是在应用中使用的图片是由应用自己下载或拍摄的,使用uni.removeSavedFile可以将照片从应用目录或内存中删除。

首先定义删除方法:

methods:{
  deleteImage(index) {
    const filePath = this.uploadList[index].filePath;
    uni.removeSavedFile({
      filePath: filePath,
      success(res) {
        console.log(res)
      },
      fail(err) {
        console.log(err)
      }
    });
  }
}

在组件中使用删除方法:

<view>
    <image></image>
    <view>删除</view>
</view>

这段代码中,我们在列表组件上使用v-for指令,依次获取要删除的图片的信息,deleteImage

Ensuite, nous devons configurer les deux fonctions de rappel success et fail dans l'instance Vue :
    methods:{
      deleteImage(index) {
        const url = 'your_delete_url';
        const fileID = this.uploadList[index].url;
        uni.request({
          url: url,
          method: 'DELETE',
          data:{
            fileID:fileID,
            key:'value'  // 可以添加其他参数
          },
          success: (res) => {
            console.log(res);
          },
          fail: (err) => {
            console.log(err);
          }
        });
      }
    }
  1. Dans ce code, nous définissons d'abord successIl existe deux fonctions de rappel code> et fail. Lorsque le téléchargement réussit ou échoue, la fonction de rappel correspondante sera exécutée. Dans la fonction upload, nous utilisons la méthode uni.chooseImage pour sélectionner l'image, obtenons le chemin du fichier temporaire et utilisons la méthode uni.uploadFile pour télécharger le fichier sur le serveur. L'attribut name représente la valeur de clé correspondant au fichier, c'est-à-dire le nom du paramètre du fichier reçu sur le serveur.
De cette manière, la fonction de sélection d'images et de téléchargement dans Uniapp est réalisée.

Téléchargez des images et obtenez les résultats renvoyés

Dans le processus de téléchargement d'images, nous devons obtenir les résultats renvoyés par le backend une fois le téléchargement réussi, afin que nous puissions obtenir l'adresse URL de l'image téléchargée ou autre informations de téléchargement d’images.

Dans l'interface uni.uploadFile, nous ajoutons un paramètre dans la fonction de rappel de réussite pour recevoir le résultat renvoyé par le backend une fois le téléchargement réussi. Le code modifié est le suivant :

rrreee

Dans le code ci-dessus, on imprime les données renvoyées par le serveur en succès. 🎜🎜2. Implémentation de la suppression d'images🎜🎜Dans notre application, nous devons parfois supprimer les images téléchargées, ce qui peut économiser de l'espace de stockage et atteindre l'objectif d'optimisation du programme. Uniapp fournit de nombreuses interfaces API pour réaliser cette fonction. Deux méthodes sont indiquées ci-dessous : 🎜🎜🎜Utilisez la méthode uni.removeSavedFile pour supprimer des images🎜🎜🎜Cette méthode consiste à télécharger ou à prendre les images utilisées dans l'application elle-même. Utilisez uni.removeSavedFile pour supprimer les images de l'application. répertoire d'application ou Supprimer de la mémoire. 🎜🎜Définissez d'abord la méthode delete : 🎜rrreee🎜Utilisez la méthode delete dans le composant : 🎜rrreee🎜Dans ce code, nous utilisons l'instruction v-for sur le composant list pour obtenir tour à tour les informations des images à supprimer, deleteImage permet de supprimer le fichier correspondant. 🎜🎜🎜Envoyer une demande de suppression au serveur🎜🎜🎜Dans notre application, si vous utilisez des images sur le serveur, vous pouvez supprimer l'image en envoyant une demande de suppression au serveur. La différence entre cette méthode et l'utilisation de la méthode uni.removeSavedFile est que nous devons envoyer une requête au serveur et supprimer l'image en arrière-plan. 🎜🎜Définir la méthode de suppression : 🎜rrreee🎜De cette façon, nous envoyons une demande de suppression au serveur Une fois que le backend a reçu cette demande, les données correspondantes sur le serveur peuvent être supprimées. 🎜🎜3. Résumé🎜🎜Ci-dessus sont les deux façons d'implémenter les fonctions de téléchargement et de suppression d'images dans Uniapp. Dans les applications pratiques, nous pouvons choisir en fonction des besoins réels pour obtenir des fonctions parfaites de téléchargement et de suppression d'images dans le programme. Dans le même temps, nous pouvons également adopter de meilleures méthodes de performance lors de l'utilisation pour obtenir de meilleures performances du programme. 🎜

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
Comment déboguer les problèmes sur différentes plateformes (par exemple, mobile, web)?Comment déboguer les problèmes sur différentes plateformes (par exemple, mobile, web)?Mar 27, 2025 pm 05:07 PM

L'article traite des stratégies de débogage pour les plates-formes mobiles et Web, mettant en évidence des outils comme Android Studio, Xcode et Chrome Devtools, et des techniques pour des résultats cohérents à travers le système d'exploitation et l'optimisation des performances.

Quels outils de débogage sont disponibles pour le développement UNIAPP?Quels outils de débogage sont disponibles pour le développement UNIAPP?Mar 27, 2025 pm 05:05 PM

L'article traite des outils de débogage et des meilleures pratiques pour le développement de l'UNIAPP, en se concentrant sur des outils comme HBuilderx, WeChat Developer Tools et Chrome Devtools.

Comment effectuez-vous des tests de bout en bout pour les applications UNIAPP?Comment effectuez-vous des tests de bout en bout pour les applications UNIAPP?Mar 27, 2025 pm 05:04 PM

L'article traite des tests de bout en bout pour les applications UNIAPP sur plusieurs plateformes. Il couvre la définition de scénarios de test, le choix d'outils comme Appium et Cypress, la configuration des environnements, l'écriture et l'exécution de tests, l'analyse des résultats et l'intégration

Quels sont les différents types de tests que vous pouvez effectuer dans une application UNIAPP?Quels sont les différents types de tests que vous pouvez effectuer dans une application UNIAPP?Mar 27, 2025 pm 04:59 PM

L'article traite de divers types de tests pour les applications UNIAPP, y compris l'unité, l'intégration, les tests fonctionnels, UI / UX, les performances, la plate-forme multiplateforme et la sécurité. Il couvre également une compatibilité multiplateforme et recommande des outils comme JES

Quels sont les anti-motifs de performance communs à UniaPP?Quels sont les anti-motifs de performance communs à UniaPP?Mar 27, 2025 pm 04:58 PM

L'article traite des anti-motifs de performance communs dans le développement de l'UNIAPP, tels que l'utilisation excessive des données globales et la liaison inefficace des données, et propose des stratégies pour identifier et atténuer ces problèmes pour de meilleures performances d'applications.

Comment pouvez-vous utiliser des outils de profilage pour identifier les goulots d'étranglement des performances à UniApp?Comment pouvez-vous utiliser des outils de profilage pour identifier les goulots d'étranglement des performances à UniApp?Mar 27, 2025 pm 04:57 PM

L'article discute de l'utilisation d'outils de profilage pour identifier et résoudre les goulots d'étranglement des performances dans UNIAPP, en se concentrant sur la configuration, l'analyse des données et l'optimisation.

Comment pouvez-vous optimiser les demandes de réseau dans UNIAPP?Comment pouvez-vous optimiser les demandes de réseau dans UNIAPP?Mar 27, 2025 pm 04:52 PM

L'article traite des stratégies d'optimisation des demandes de réseau dans UNIAPP, en se concentrant sur la réduction de la latence, la mise en œuvre de la mise en cache et l'utilisation des outils de surveillance pour améliorer les performances des applications.

Comment pouvez-vous optimiser les images pour les performances Web à UniApp?Comment pouvez-vous optimiser les images pour les performances Web à UniApp?Mar 27, 2025 pm 04:50 PM

L'article discute de l'optimisation des images dans UniaPP pour de meilleures performances Web par compression, conception réactive, chargement paresseux, mise en cache et utilisation du format WebP.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.