Maison >développement back-end >tutoriel php >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
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.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 ladocumentation 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) } })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) } })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.
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!