微信小程式wx.uploadfile 本地檔案轉base64

Websites發表於2017-09-28

微信小程式wx.uploadfile, 利用PHP介面把本地圖片轉化為base64流.

網上到處都是貼上複製的wx.uploadfile的解決方案, 但目前還沒有具體的程式碼:

特意呈現出來給需要的夥伴們:


程式碼:

case 'imgBufferToBase64':
	$data='';

	file_put_contents("1.txt",var_export($_FILES,true)."\r\n",FILE_APPEND);
	if(!empty($_FILES['upload']['tmp_name'])){
		if(empty($_FILES['upload']['type'])){
			IO::Debug('檔案型別不合法');
		}
		if(!in_array($_FILES['upload']['type'],array(
			'image/gif',
			'image/pjpeg',
			'image/jpeg',
			'image/x-png',
			'image/png',
			'image/bmp'
		))){
			IO::Debug($_FILES['upload']['type'].'檔案型別不合法');
		}
		$data=file_get_contents($_FILES['upload']['tmp_name']);
		file_put_contents("1.txt",var_export($data,true)."\r\n",FILE_APPEND);
		IO::Debug('解析成功',true,$data);
	}
	IO::Debug("解析失敗");
break;


js程式碼:

wx.uploadFile({
  url: 'https://' + app.globalData.host + '/api/?sign=' + sign, 
  filePath: tempFilePaths[0],
  name: 'upload',
  header: { 
	"content-type": "multipart/form-data",
	"content-type": "application/x-www-form-urlencoded"
  },
  formData: formData,
  success: function (res) {
	var $data = JSON.parse(res.data);
     if (typeof ($data.data) != "undefined" && $data.code){
        var imgBase64 = "data:image/jpeg;base64," + $data.data;
     }
  }
})





相關文章