Maison interface Web js tutoriel Exemple d'encapsulation simple pour télécharger plusieurs fichiers dans le mini-programme WeChat

Exemple d'encapsulation simple pour télécharger plusieurs fichiers dans le mini-programme WeChat

Jan 31, 2018 am 09:26 AM
实例 小程序 文件下载

Cet article présente principalement un exemple d'encapsulation simple pour télécharger plusieurs fichiers dans l'applet WeChat. L'éditeur pense que c'est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.

Exigences

Vous devez générer une image promotionnelle à partager dans votre cercle d'amis. Cette image promotionnelle contient un code QR, comprenant différentes images d'arrière-plan et. texte différent. Pour ce type de génération d'images, nous avons envisagé d'utiliser la génération côté serveur, mais cela consommerait plus de performances du serveur, nous avons donc finalement décidé d'utiliser la génération locale.

Tout d'abord, le mini-programme a une limitation. Le package ne peut pas dépasser 2 m, et nous pouvons avoir plusieurs images d'arrière-plan, nous prévoyons donc de mettre les images d'arrière-plan et les images de code QR sur le serveur, ce qui peut réduire la taille du mini-programme. Vous pouvez également changer de manière flexible les images d'arrière-plan.

Lorsque vous dessinez une image partagée, vous pouvez utiliser directement l'adresse Internet, mais nous avons rencontré un problème et nous ne pourrons peut-être pas générer l'image, nous devons donc télécharger le fichier image.

WeChat dispose d'une API pour télécharger des fichiers, mais le chemin temporaire du fichier est renvoyé, qui ne peut être utilisé normalement que lors du démarrage actuel du mini-programme. Si vous devez le sauvegarder de manière persistante, vous devez le faire. appelez activement wx.saveFile avant de pouvoir le faire. L'applet sera accessible au prochain démarrage.

Nous encapsulons donc d'abord le fichier téléchargé et le fichier enregistré

Encapsulons le fichier téléchargé et enregistré

Cette méthode est relativement simple

Paramètres : un objet, comprenant

  1. id. L'identifiant du fichier qui doit être téléchargé. S'il n'est pas transmis, la valeur par défaut est l'URL de téléchargement. La raison pour laquelle l'identifiant est nécessaire. c'est parce que nous devons télécharger plusieurs fichiers et pouvons les distinguer. Ce qui est téléchargé est un fichier

  2. url L'adresse réseau du fichier téléchargé (nécessite la configuration en arrière-plan de l'applet WeChat, veuillez vous référer à WeChat. documentation officielle pour les méthodes de configuration spécifiques)

  3. succès Le paramètre de retour du rappel de réussite est un objet contenant l'identifiant, saveFilePath

  4. fail failed callback, l'échec du téléchargement et l'enregistrement sont tous considérés comme des échecs


/**
 * 下载保存一个文件
 */
function downloadSaveFile(obj) {
  let that = this;
  let success = obj.success;
  let fail = obj.fail;
  let id = "";
  let url = obj.url;
  if (obj.id){
    id = obj.id;
  }else{
    id = url;
  }
  // console.info("%s 开始下载。。。", obj.url);
  wx.downloadFile({
    url: obj.url,
    success: function (res) {
      wx.saveFile({
        tempFilePath: res.tempFilePath,
        success: function (result) {
          result.id = id;
          if (success) {
            success(result);
          }
        },
        fail: function (e) {
          console.info("保存一个文件失败");
          if (fail) {
            fail(e);
          }
        }
      })
    },
    fail: function (e) {
      console.info("下载一个文件失败");
      if (fail) {
        fail(e);
      }
    }
  })
}
Copier après la connexion

L'utilisation de la méthode de téléchargement (wx.downloadFile(obj)) nécessite la configuration du domaine du serveur nom dans l'applet WeChat. Pour le nom de domaine du serveur, veuillez aller à l'arrière-plan de l'applet - Paramètres - Paramètres de développement - Configuration du nom de domaine du serveur, veuillez vous référer à la documentation officielle de WeChat pour plus de détails

Encapsuler plusieurs téléchargements de fichiers et sauvegardez-les

Téléchargements et sauvegardes de fichiers multiples. Il est obligatoire que tous les fichiers soient téléchargés avec succès avant que le retour soit réussi

Paramètre : un objet contenant

.
  1. tableau d'adresses de téléchargement d'URL, prenant en charge plusieurs téléchargements d'URL [url1, url2]

  2. le téléchargement réussi est réussi (tous les fichiers doivent être téléchargés avec succès pour être considéré comme réussi ) carte des paramètres de rappel, clé (id) -> valeur ({id, savedFilePath})

  3. échec du téléchargement, l'appel échoue tant qu'une méthode échoue


/**
 * 多文件下载并且保存,强制规定,必须所有文件下载成功才算返回成功
 */
function downloadSaveFiles(obj) {
  // console.info("准备下载。。。");
  let that = this;
  let success = obj.success; //下载成功
  let fail = obj.fail; //下载失败
  let urls = obj.urls; //下载地址 数组,支持多个 url下载 [url1,url2]
  let savedFilePaths = new Map();
  let urlsLength = urls.length; // 有几个url需要下载
  for (let i = 0; i < urlsLength; i++) {
    downloadSaveFile({
      url: urls[i],
      success: function (res) {
        //console.dir(res);
        //一个文件下载保存成功
        let savedFilePath = res.savedFilePath;
                
        savedFilePaths.set(res.id, res);
        console.info("savedFilePath:%s", savedFilePath);
        if (savedFilePaths.size == urlsLength) { //如果所有的url 才算成功
          if (success){
            success(savedFilePaths)
          }
          
        }
      },
      fail: function (e) {
        console.info("下载失败");
        if (fail) {
          fail(e);
        }

      }
    })
  }
}
Copier après la connexion

Fichier download.js complet


/**
 * 下载管理器
 * Created by 全科 on 2018/1/27.
 */
/**
 * 下载保存一个文件
 */
function downloadSaveFile(obj) {
  let that = this;
  let success = obj.success;
  let fail = obj.fail;
  let id = "";
  let url = obj.url;
  if (obj.id){
    id = obj.id;
  }else{
    id = url;
  }
  // console.info("%s 开始下载。。。", obj.url);
  wx.downloadFile({
    url: obj.url,
    success: function (res) {
      wx.saveFile({
        tempFilePath: res.tempFilePath,
        success: function (result) {
          result.id = id;
          if (success) {
            success(result);
          }
        },
        fail: function (e) {
          console.info("保存一个文件失败");
          if (fail) {
            fail(e);
          }
        }
      })

    },
    fail: function (e) {
      console.info("下载一个文件失败");
      if (fail) {
        fail(e);
      }

    }
  })
}
/**
 * 多文件下载并且保存,强制规定,必须所有文件下载成功才算返回成功
 */
function downloadSaveFiles(obj) {
  // console.info("准备下载。。。");
  let that = this;
  let success = obj.success; //下载成功
  let fail = obj.fail; //下载失败
  let urls = obj.urls; //下载地址 数组,支持多个 url下载 [url1,url2]
  let savedFilePaths = new Map();
  let urlsLength = urls.length; // 有几个url需要下载
  for (let i = 0; i < urlsLength; i++) {
    downloadSaveFile({
      url: urls[i],
      success: function (res) {
        console.dir(res);
        //一个文件下载保存成功
        let savedFilePath = res.savedFilePath;                
        savedFilePaths.set(res.id, res);
        console.info("savedFilePath:%s", savedFilePath);
        if (savedFilePaths.size == urlsLength) { //如果所有的url 才算成功
          if (success){
            success(savedFilePaths)
          }          
        }
      },
      fail: function (e) {
        console.info("下载失败");
        if (fail) {
          fail(e);
        }
      }
    })
  }
}
module.exports = {
  downloadSaveFiles: downloadSaveFiles
}
Copier après la connexion

Utiliser

pour d'abord importer


import download from "download.js"
Copier après la connexion

puis appeler


let url1 = &#39;https://xcx.upload.utan.com/article/coverimage/2018/01/25/eyJwaWMiOiIxNTE2ODU2Nzc0Njk3OCIsImRvbWFpbiI6InV0YW50b3V0aWFvIn0=&#39;;
let url2 = &#39;https://xcx.upload.utan.com/article/coverimage/2018/01/26/eyJwaWMiOiIxNTE2OTcyNDg0NDUzOSIsImRvbWFpbiI6InV0YW50b3V0aWFvIn0=&#39;;
download.downloadSaveFiles({
  urls: [url1, url2],
  success: function (res) {
    // console.dir(res);
   
    console.info(res.get(url2).savedFilePath)
  },
  fail: function (e) {
    console.info("下载失败");
  }
);
Copier après la connexion

Recommandations associées :

Détails de l'encapsulation simple Ajax Exemple de code

Encapsulation simple de certaines fonctions du module mysql en php

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 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

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Opération d'ouverture Python après avoir téléchargé le fichier Opération d'ouverture Python après avoir téléchargé le fichier Apr 03, 2024 pm 03:39 PM

Python fournit les options suivantes pour ouvrir les fichiers téléchargés : Fonction open() : ouvre le fichier en utilisant le chemin et le mode spécifiés (tels que « r », « w », « a »). Bibliothèque de requêtes : utilisez sa méthode download() pour attribuer automatiquement un nom et ouvrir directement le fichier. Bibliothèque Pathlib : utilisez les méthodes write_bytes() et read_text() pour écrire et lire le contenu du fichier.

Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Nov 08, 2023 pm 06:02 PM

Pour implémenter le téléchargement et le téléchargement de fichiers dans des documents Workerman, des exemples de code spécifiques sont requis Introduction : Workerman est un framework de communication réseau asynchrone PHP hautes performances, simple, efficace et facile à utiliser. Dans le développement réel, le téléchargement et le téléchargement de fichiers sont des exigences fonctionnelles courantes. Cet article explique comment utiliser le framework Workerman pour implémenter le téléchargement et le téléchargement de fichiers, et donne des exemples de code spécifiques. 1. Téléchargement de fichiers : le téléchargement de fichiers fait référence à l'opération de transfert de fichiers de l'ordinateur local vers le serveur. Ce qui suit est utilisé

Comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour envoyer et recevoir des e-mails ? Comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour envoyer et recevoir des e-mails ? Jul 25, 2023 pm 08:17 PM

Comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour envoyer et recevoir des e-mails ? Avec le développement rapide des technologies de communication modernes, le courrier électronique est devenu un moyen important pour communiquer et transmettre des informations dans la vie quotidienne. Dans le développement Web, nous rencontrons souvent le besoin d’envoyer et de recevoir des e-mails avec des pièces jointes. En tant que puissant langage de script côté serveur, PHP fournit une multitude de fonctions et de bibliothèques de classes qui peuvent simplifier le processus de traitement des e-mails. Cet article explique comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour l'envoi et la réception d'e-mails. L'e-mail est envoyé en premier, nous

Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Nov 02, 2023 pm 04:36 PM

Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Laravel est un framework Web PHP populaire qui fournit une multitude de fonctions et d'outils pour rendre le développement d'applications Web plus facile et plus efficace. L'une des fonctions couramment utilisées est le téléchargement et le téléchargement de fichiers. Cet article expliquera comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers, et fournira des exemples de code spécifiques. Téléchargement de fichiers Le téléchargement de fichiers fait référence au téléchargement de fichiers locaux sur le serveur pour le stockage. Dans Laravel, nous pouvons utiliser le téléchargement de fichiers

Comment déclencher le téléchargement du fichier en cliquant sur le bouton HTML ou JavaScript ? Comment déclencher le téléchargement du fichier en cliquant sur le bouton HTML ou JavaScript ? Sep 12, 2023 pm 12:49 PM

De nos jours, de nombreuses applications permettent aux utilisateurs de télécharger et de télécharger des fichiers. Par exemple, les outils de détection de plagiat permettent aux utilisateurs de télécharger un fichier de document contenant du texte. Il vérifie ensuite le plagiat et génère un rapport que les utilisateurs peuvent télécharger. Tout le monde sait comment utiliser inputtypefile pour créer un bouton de téléchargement de fichier, mais peu de développeurs savent utiliser JavaScript/JQuery pour créer un bouton de téléchargement de fichier. Ce didacticiel vous apprendra différentes manières de déclencher le téléchargement d'un fichier lorsque vous cliquez sur un bouton HTML ou JavaScript. Utilisez la balise <a> et l'attribut de téléchargement du HTML pour déclencher le téléchargement du fichier lorsque vous cliquez sur le bouton. Chaque fois que nous donnons la balise <a>.

Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Nov 21, 2023 am 10:55 AM

Implémentation d'effets de retournement de cartes dans les mini-programmes WeChat Dans les mini-programmes WeChat, la mise en œuvre d'effets de retournement de cartes est un effet d'animation courant qui peut améliorer l'expérience utilisateur et l'attractivité des interactions d'interface. Ce qui suit présentera en détail comment implémenter l'effet de retournement de carte dans l'applet WeChat et fournira des exemples de code pertinents. Tout d'abord, vous devez définir deux éléments de carte dans le fichier de mise en page du mini-programme, un pour afficher le contenu avant et un pour afficher le contenu arrière. L'exemple de code spécifique est le suivant : &lt;!--index.wxml-. -&gt;&l

Comment utiliser le framework Hyperf pour le téléchargement de fichiers Comment utiliser le framework Hyperf pour le téléchargement de fichiers Oct 21, 2023 am 08:23 AM

Comment utiliser le framework Hyperf pour le téléchargement de fichiers Introduction : Le téléchargement de fichiers est une exigence courante lors du développement d'applications Web à l'aide du framework Hyperf. Cet article explique comment utiliser le framework Hyperf pour le téléchargement de fichiers, y compris des exemples de code spécifiques. 1. Préparation Avant de commencer, assurez-vous d'avoir installé le framework Hyperf et créé avec succès une application Hyperf. 2. Créer un contrôleur de téléchargement de fichiers Tout d'abord, nous devons créer un contrôleur pour gérer les demandes de téléchargement de fichiers. Ouvrez le terminal et entrez

Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Oct 31, 2023 pm 09:25 PM

Selon les informations de ce site du 31 octobre, le 27 mai de cette année, Ant Group a annoncé le lancement du « Projet de sélection de caractères chinois » et a récemment inauguré de nouveaux progrès : Alipay a lancé le mini-programme « Sélection de caractères chinois-Caractères rares ». pour collecter des collections de la société Les personnages rares complètent la bibliothèque de personnages rares et offrent différentes expériences de saisie pour les personnages rares afin d'aider à améliorer la méthode de saisie des caractères rares dans Alipay. Actuellement, les utilisateurs peuvent accéder à l'applet « Caractères peu communs » en recherchant des mots-clés tels que « capture de caractères chinois » et « caractères rares ». Dans le mini-programme, les utilisateurs peuvent soumettre des images de caractères rares qui n'ont pas été reconnus et saisis par le système. Après confirmation, les ingénieurs d'Alipay effectueront des entrées supplémentaires dans la bibliothèque de polices. Ce site Web a remarqué que les utilisateurs peuvent également découvrir la dernière méthode de saisie par fractionnement de mots dans le mini-programme. Cette méthode de saisie est conçue pour les mots rares dont la prononciation n'est pas claire. Démantèlement utilisateur

See all articles