ホームページ >バックエンド開発 >PHPチュートリアル >WeChatミニプログラム開発時にアップロードできない問題の解決策を詳しく説明

WeChatミニプログラム開発時にアップロードできない問題の解決策を詳しく説明

韦小宝
韦小宝オリジナル
2018-03-14 17:00:0810391ブラウズ

この記事では、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。