Explication détaillée de la solution au problème de l'impossibilité de télécharger lors du développement de mini-programmes WeChat

韦小宝
Libérer: 2023-03-21 12:52:01
original
10311 Les gens l'ont consulté

Cet article explique la solution au problème de l'impossibilité de télécharger lors du développement de mini-programmes WeChat, ou si vous ne connaissez pas les solutions à l'impossibilité de télécharger lors du développement de mini-programmes WeChat, ou si vous êtes intéressé par les solutions. étant incapable de télécharger lors du développement de mini-programmes WeChat, alors regardons cet article ensemble. Bon, sans plus tarder, allons droit au but !

La solution pour l'applet WeChat wx.uploadFile ne peut pas télécharger

De nombreux développeurs ont rencontré le problème selon lequel le client Android WeChat ne peut pas utiliser wx.uploadFile pour télécharger des fichiers.

Parce que je n'ai pas pu résoudre le problème, je l'ai soumis pour examen et j'ai finalement été rejeté (avec la mentalité selon laquelle les évaluateurs devraient utiliser les tests iOS, il est arrivé d'examiner l'utilisation de mon application) (pour Android), j'ai essayé d'utiliser des moyens tiers pour le résoudre.

En fin de compte, j'ai utilisé la méthode de stockage tierce de Qiniu, en téléchargeant les fichiers directement sur l'espace de stockage de Qiniu, puis en rappelant pour utilisation.


Bien sûr, des sources de stockage tierces telles que Youpaiyun et Wanxiang Youtu peuvent adopter cette idée.

La première étape consiste à insérer le nom de domaine de téléchargement https de Qiniu dans la liste des noms de domaine du mini programme.


Ici, j'utilise le nom de domaine de Qiniu East China

https://up.qbox.me.

L'applet WeChat wx.uploadFile utilise la méthode multipart/form-data pour télécharger, c'est-à-dire le téléchargement de formulaire.

Selon la

documentation officielle de Qiniu http://developer.qiniu.com/docs/ ... up/form-upload.html

Les principaux éléments nécessaires sont le fichier (le fichier lui-même) et le jeton (le certificat de téléchargement).

Déployez ensuite le code métier pour obtenir les informations d'identification téléchargées côté serveur et demandez le jeton via wx.request.

var that = this;
 
wx.request({
 
 url: 'https://xxx/token',
 
 method: 'POST',
 
 data: {},
 
 header: {
 
  'content-type':'application/x-www-form-urlencoded'
 
 },
 
 success: function(res) {
 
   that.token = res.data; //默认返回一个token,赋值给已经有的token属性。这里只是示例,具体根据需求可自行设定。
 
 },
 
 fail:function (res) {
 
  console.log(res)
 
 }
 
})
Copier après la connexion
Pour plus de détails sur la façon de déployer le code promotionnel Qiniu, veuillez vous référer à http://78re52.com1.z0.glb.cloudd... %9C%8D%E5%8A%A1. pdf

Après avoir obtenu le certificat, vous pouvez le télécharger via wx.uploadFile. Le code spécifique est :

var that = this;
 
 var key = Math.random().toString(36).substr(2); //生成一个随机字符串的文件名
 
 wx.uploadFile({
 
  url: 'https://up.qbox.me',
 
  filePath: flie,
 
  name: 'file',
 
  formData:{
 
   'token': that.token,//刚刚获取的上传凭证
 
   'key': key//这里是为文件设置上传后的文件名
 
  },
 
  success: function(r){
 
   var data = r.data;//七牛会返回一个包含hash值和key的JSON字符串
 
   if(typeof data==='string')data = JSON.parse(data.trim());//解压缩
 
   if(data.key){
 
    ... //这里就可以直接使用data.key,文件已经上传成功可以使用了。如果是图片也可以直接通过image调用。
 
   }
 
  },
 
  fail:function (res) {
 
   console.log(res)
 
  }
 
 })
Copier après la connexion
L'utilisation de cette méthode a finalement résolu le problème de l'incapacité d'Android à télécharger des fichiers. Bien sûr, le problème du téléchargement sur son propre serveur doit encore être résolu.


Cependant, il constitue toujours une solution réalisable pour les développeurs qui ont un besoin urgent de solutions.

L'utilisation de sources d'images ou de sources de stockage tierces est désormais une solution courante. De nombreuses sources de stockage telles que Qiniu, Youpaiyun et Wanxiang Youtu offrent un espace libre aux développeurs.


Je vous suggère de faire plus de

structure et d'essayer davantage dans ce domaine.

Recommandations associées :

Explication détaillée de la demande de publication dans le développement de l'applet WeChat

Explication détaillée du chargement déroulant et de l'actualisation pull-up de l'applet WeChat

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!