ホームページ >バックエンド開発 >PHPチュートリアル >WeChatミニプログラム開発時にアップロードできない問題の解決策を詳しく説明
この記事では、WeChat ミニプログラム開発時にアップロードできない問題の解決策について説明します。WeChat ミニプログラム開発時にアップロードできない問題の解決策がわからない場合、または解決策に興味がある場合。 WeChat ミニ プログラムの開発時にアップロードできない問題については、この記事を見てみましょう。それでは、早速本題に入りましょう。
WeChat アプレット wx.uploadFile が解決策をアップロードできない
多くの開発者は、WeChat Android クライアントが wx.uploadFile を使用してファイルをアップロードできないという問題に遭遇しています。
私も問題を解決できなかったのでサードパーティを使おうとしたのでレビューに提出しましたが、最終的には拒否されました(レビュー担当者はテストにiOSを使用するべきだという考え方がありましたが、残念ながら私のアプリはAndroidを使用してレビューしました)を解決することを意味します。
最終的に、私は Qiniu のサードパーティのストレージ方法を使用し、ファイルを Qiniu のストレージ スペースに直接アップロードし、使用するためにコールバックしました。
もちろん、Youpaiyun や Wanxiang Youtu などのサードパーティのストレージ ソースでもこのアイデアを採用できます。
最初のステップは、Qiniu の https アップロード ドメイン名をミニ プログラムのドメイン名リストに追加することです。
ここではQiniu East Chinaのドメイン名を使用していますhttps://up.qbox.me。
WeChat アプレット wx.uploadFile は、multipart/form-data メソッドを使用してアップロード、つまりフォーム アップロードを使用します。
Qiniu の公式ドキュメントによると http://developer.qiniu.com/docs/ ... up/form-upload.html
主に必要なものは、ファイル (ファイル自体) とトークン (証明書をアップロードします)。
次に、ビジネス コードをデプロイしてサーバー側でアップロードされた認証情報を取得し、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) } })
Qiniu バウチャー コードの導入方法の詳細については、http://78re52.com1.z0.glb.cloudd... %9C%8D%E5%8A%A1.pdf を参照してください
バウチャーの場合は、アップロードされた wx .uploadFile を渡すことができます。具体的なコードは次のとおりです:
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) } })
この方法を使用すると、Android がファイルをアップロードできない問題が最終的に解決されました。もちろん、独自のサーバーをアップロードする問題はまだ解決する必要があります。
ただし、緊急にソリューションを必要としている開発者にとっては、依然として実行可能なソリューションを提供します。
Qiniu、Youpaiyun、Wanxiang Youtu などの多くのストレージ ソースは、現在、開発者が使用できる無料のスペースを提供する、サードパーティの画像ソースやストレージ ソースの使用が一般的なソリューションです。
この分野でもっと構造を作り、もっと試してみることをお勧めします。
関連するおすすめ:
WeChatアプレット開発におけるPostリクエストの詳細説明
プルダウンロードとプルアップリフレッシュのWeChatアプレット実装の詳細説明
以上がWeChatミニプログラム開発時にアップロードできない問題の解決策を詳しく説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。