ミニ プログラムでデータを転送するにはどうすればよいですか?
WeChat アプレットの公式インターフェイスを使用する (アップロードとダウンロード)
WeChat アプレットでの通常の情報のやり取りは、wx.request を介して非常に簡単です。インターフェースそれだけです。注意すべき点は、POST リクエストの場合、ヘッダー パラメーターの content-type を application/x-www-form-urlencoded に設定する必要があることです。そうしないと、サーバーはミニ プログラムによって POST されたデータを受信できません。
コード例:
wx.request({ url: 'https://api.tianapi.com/meinv/?key={APIKEY}', method: 'POST', data:'num=10', //参数为键值对字符串 header: { //设置参数内容类型为x-www-form-urlencoded 'content-type':'application/x-www-form-urlencoded', 'Accept': 'application/json' }, success: function (res) { console.log(res.data) that.setData({ items: res.data }) } })
ただし、単純なテキスト データのやり取りでは十分ではない可能性があります。ミニ プログラムがサーバーからファイルをダウンロードする必要があり、ミニ プログラムのユーザーがローカル ファイルをサーバーにアップロードする場合、じゃあどうするか?ここでは、ミニ プログラムの他の 2 つのインターフェイス、wx.downloadFile と wx.uploadFile を使用する必要があります。WeChat ミニ プログラムで公式に提供されているすべての API インターフェイスは、wx で始まります。
1. ダウンロード ファイル インターフェイス wx.downloadFile (オブジェクト)
ファイル リソースをローカル エリアにダウンロードするクライアントは、HTTP GET リクエストを直接開始し、ファイルのローカル一時パスを返します。
OBJECT パラメータの説明:
ミニ プログラム ダウンロード ファイル インターフェイス
ミニ プログラム内のアップロード、ダウンロード、その他の機能対応するメソッド インターフェイスと説明ドキュメントは背景にあります。通常は、オブジェクトのパラメータの説明が記載されたテーブルがあります。公式の記述に従って、対応するパラメータを呼び出すか渡すだけで済みます。たとえば、上記のダウンロード インターフェイスのパラメーターの説明では、一番左がこのメソッドで渡せるパラメーターで、真ん中の required はこのパラメーターがオプションかどうかを示し、必須でない場合はオンデマンドで渡されます。 function. パラメータを使用する必要がない場合は、これを無視できます。
上の表の「タイプ」列は何を意味しますか?
string は、数字、文字、アンダースコアで構成される文字列です。通常、これは特定のコンテンツであり、たとえば、ミニ プログラムでファイルをダウンロードするメソッドでは、ダウンロードするファイルのリソース アドレス (URL) を指定する必要があり、URL は文字列コンテンツになります。
オブジェクトとは物体という意味ですが、オブジェクトとは何かについては前回の記事で説明しました。オブジェクトはデータのコレクションです。前の記事で例を挙げました: Lovers:{NiuLangGirl: "Weaver Girl"}。これは Lovers オブジェクトで、NiuLangGirl の値は Weaver Girl です。次に、ミニ プログラムのダウンロード メソッドで、ヘッダー オブジェクトを渡して HTTP リクエストのヘッダーを指定できます (具体的にはこれらのヘッダーを指定できます。Baidu http/header を指定できます)。ヘッダーの右側のプロンプトに注意してください。テーブルパラメータ列の、これはパラメータです。これはオプションであるため、特別な要件がない限り、渡す必要はありません。
Function は関数です。ここでの Function はコンピュータの関数であり、一連のプログラム、プログラム モジュールのサブセットとして理解でき、単一の関数を実装します。たとえば、ミニ プログラムのファイル ダウンロード メソッドでは、リクエストの成功に指定された関数は success です。この関数の説明では、ダウンロードが成功した後、tempFilePath, res = {tempFilePath: の形式でページに渡されます。 'ファイルの一時パス'}、つまりファイル リクエストが成功すると、res オブジェクトが返され、tempFilePath の値がファイルの一時パスになります。 wx.saveVideoToPhotosAlbum インターフェイスを呼び出してファイルをローカルに保存する場合、一時パスを filePath パラメーターに渡すと、ファイルをユーザーの携帯電話に保存できます。
コード例: JS ファイルにプログラム ロジックを記述します。
DownLoadFile: function() { var that = this; wx.downloadFile({ url: 'https://user.tianapi.com/video.mp4', success: function (res) { console.log(res.tempFilePath) that.setData({ resource: res.tempFilePath }) } }) }
次に、wxml ファイルにデータを表示します。
< button type="primary" bindtap="DownLoadFile">下载视频 < video src="{{resource}}"/>
DownLoadFile は、wx.downloadFile を呼び出す際に便利なように一時的に設定される関数名です。インターフェース。意味はありませんが、文字から始まることが多いので覚えやすいです。ユーザーがクリックしてビデオをダウンロードすると、この関数の wx.downloadFile メソッドが実行され、サーバーのビデオ ファイルがローカルにダウンロードされ、ファイルの一時パスがリソースに割り当てられ、< video> タグで表示されます。 。
つまり、ミニ プログラムの開発はそれほど神秘的ではありません。実際、非常に簡単です。WeChat ミニ プログラムの背景に関する公式ドキュメントに従うだけで、独自の方法でさまざまな興味深いミニ プログラムを開発できます。ニーズと創造性のプログラム。
2. アップロード ファイル インターフェイス wx.uploadFile (オブジェクト) 同様に、WeChat アプレット バックグラウンドでこのインターフェイスの例を見つけることができますローカル リソース、つまりユーザーの携帯電話ファイルを開発者サーバーにアップロードするには、最初にchooseVideoなどのインターフェイスを渡してユーザーのローカルファイルの一時パスを取得し、次にwx.uploadFileインターフェイスを介してユーザーの携帯電話内のファイルを指定されたサーバーにアップロードする必要があります。アプレットから HTTPS POST リクエストを開始するには、content-type を multipart/form-data として指定する必要があります。
遅延ライト シャドウ アップロード作業インターフェイス
コード例:
js ファイルにプログラム ロジックを記述する
Page({UpVideo:function(){ chooseVideo:function(){ sourceType: ['album'], // 指定文件的来源,album只允许相册中选择,camera是相机拍摄,两个都允许以逗号相隔。 success: function (res) { var tempFilePaths = res.tempFilePaths //上面提到的预览文件的临时路径 wx.uploadFile({ url: 'https://www.tianapi.com/?do=videofile', //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: 'file', formData:{ 'userid': 1 //ID为1的用户上传的文件 }, success: function(res){ var data = res.data console.log(res); } }) } }) } })
wxml file:
<view class="cview"> < button bindtap="UpVideo">添加作品</ button> </view><br/>
次に、サーバー側でファイルを受信するコードを記述して、ファイルを自分のサーバーに保持します。
以上がミニプログラムでの転送方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。