目前,小程序图片或者本地文件转成base64是不能够实现的,以下是具体分析:
微信小程序wx.uploadfile, 利用PHP接口把本地图片转化为base64流.
网上到处都是粘贴复制的wx.uploadfile的解决方案, 但目前还没有具体的代码:
特意呈现出来给需要的伙伴们:
代码:
<pre name="code" class="php">case 'imgBufferToBase64':
<span style="white-space:pre"> </span>$data='';
<span style="white-space:pre"> </span>file_put_contents("1.txt",var_export($_FILES,true)."\r\n",FILE_APPEND);
<span style="white-space:pre"> </span>if(!empty($_FILES['upload']['tmp_name'])){
<span style="white-space:pre"> </span>if(empty($_FILES['upload']['type'])){
<span style="white-space:pre"> </span>IO::Debug('文件类型不合法');
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>if(!in_array($_FILES['upload']['type'],array(
<span style="white-space:pre"> </span>'image/gif',
<span style="white-space:pre"> </span>'image/pjpeg',
<span style="white-space:pre"> </span>'image/jpeg',
<span style="white-space:pre"> </span>'image/x-png',
<span style="white-space:pre"> </span>'image/png',
<span style="white-space:pre"> </span>'image/bmp'
<span style="white-space:pre"> </span>))){
<span style="white-space:pre"> </span>IO::Debug($_FILES['upload']['type'].'文件类型不合法');
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>$data=file_get_contents($_FILES['upload']['tmp_name']);
<span style="white-space:pre"> </span>file_put_contents("1.txt",var_export($data,true)."\r\n",FILE_APPEND);
<span style="white-space:pre"> </span>IO::Debug('解析成功',true,$data);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>IO::Debug("解析失败");
break;
</pre>
<pre></pre>
<p></p>
<pre></pre>
<span style="font-size:14px">js代码:</span>
<p></p>
<pre name="code" class="javascript">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) {</pre><pre name="code" class="javascript"><span style="white-space:pre"> </span>var $data = JSON.parse(res.data);</pre><pre name="code" class="javascript"> if (typeof ($data.data) != "undefined" && $data.code){
var imgBase64 = "data:image/jpeg;base64," + $data.data;
}
}
})</pre><br data-filtered="filtered">
<p></p>
<p><br data-filtered="filtered">
</p>
<span style="font-size:14px"><br data-filtered="filtered">
<br data-filtered="filtered">
</span>
<p></p>
<pre></pre>
小程序工具提供多类型商城/门店小程序制作,可视化编辑 1秒生成5步上线。通过拖拽、拼接模块布局小程序商城页面,所看即所得,只需要美工就能做出精美商城。
有关进一步了解小程序开发案例,请前往:https://www.kesion.com/miniprogramdev/