微信小程序wx.uploadfile 本地文件转base64的实现代码

微信小程序wx.uploadfile, 利用PHP接口把本地图片转化为base64位。

网上到处都是粘贴复制的wx.uploadfile的解决方案, 但目前还没有具体的代码:

特意呈现出来给需要的伙伴们:

代码:

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; 

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) {
<span style="white-space: pre;"> </span>var $data = JSON.parse(res.data);
  if (typeof ($data.data) != "undefined" && $data.code){
  var imgBase64 = "data:image/jpeg;base64," + $data.data;
  }
 }
}) 

总结

以上所述是小编给大家介绍的微信小程序wx.uploadfile 本地文件转base64的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 微信小程序 wx.uploadFile无法上传解决办法

    微信小程序 wx.uploadFile无法上传解决办法 微信安卓客户端无法使用wx.uploadFile上传文件的问题有不少开发者都遇到. 我也因为一直不能解决,硬着头皮提交审核最后被拒(抱着审核者最好用iOS检测的心态,不巧审核我应用的用的是安卓),才尝试使用第三方的手段解决. 最终我是用了七牛第三方存储的方式,将文件直接上传至七牛的储存的空间上再回调使用. 当然像又拍云,万象优图这些第三方存储源都可以采用这种思路. 首先是将七牛的https上传域名放进小程序的域名名单中. 这里我使用的是七牛

  • 微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决

    微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决 微信小程序上传图片的时候,如果是多图片上传,一般都是直接用一个循环进行wx.uploadFile 这个在电脑上面测试与苹果手机上面都不会有什么问题 但当用安卓测试的时候,你会发现小程序会提示一个the same task is working wx.uploadFile不能并行,因为wx.uploadFile是一个异步函数,所以循环的时候在安卓手机上会出现并行 解决的方法 做一个上传完的

  • 详解微信小程序 wx.uploadFile 的编码坑

    编写微信小程序时,用到 wx.uploadFile,用来上传图片+文本信息.然而在编写过程中,由于官方的 demo 和文档描述很少,在几个坑上耗费了不少时间. 这里分享一个和编码有关的坑,主要是由于真机预览时 formData 中的非字母.数字的 ASCII 编码的字符如中文.泰文传输到服务端将不会自动进行转码码,并会会产生乱码及溢出,从而导致错误. 微信的 uploadFile 类似与 html 中的form带文件上传的表单 ( enctype="multipart/form-data&quo

  • 微信小程序wx.uploadfile 本地文件转base64的实现代码

    微信小程序wx.uploadfile, 利用PHP接口把本地图片转化为base64位. 网上到处都是粘贴复制的wx.uploadfile的解决方案, 但目前还没有具体的代码: 特意呈现出来给需要的伙伴们: 代码: case 'imgBufferToBase64': <span style="white-space: pre;"> </span>$data=''; <span style="white-space: pre;"> &

  • 微信小程序 wx.request(object) API详解及实例代码

    这里通过干活集中营的API接口真实请求下数据.如果提示URL 域名不合法,请在 mp 后台配置后重试修改asdebug.js两行代码即可可看下面图 定位到asdebug.js文件 打开搜索关键字URL 域名不合法关键字就是提示错误信息注释两行代码 主要方法: wxml <block wx:for-items="{{result}}"> <view style="width:100%; height: 50rpx"></view>

  • 微信小程序教程之本地图片上传(leancloud)实例详解

    微信小程序 leancloud --本地图片上传 由于本站最近学习微信小程序的知识,这里记录下微信小程序实现本地上传的功能实现方法,以下是网上找的资料,大家看下. 将本地图片上传至leancloud后台. 获取本地图片或者拍照,我在上一篇博文中写过.这里就不说了.我的博客 直接上代码: 1.index.js //index.js //获取应用实例 var app = getApp() const AV = require('../../utils/av-weapp.js'); Page({ da

  • 微信小程序 wx:for的使用实例详解

    微信小程序 wx:for的使用实例详解 在小程序的开发过程中,经常会用到在前端页面循环打印一个数组或者对象的数据,这样的话就需要用wx:for来实现. 一般情况下,小程序的utils这个文件夹下,我们可以把本地的数据写进去,封装成.js文件,提供对外暴露的接口,然后读取本地数据,这些在上一篇博客中有详细介绍.我们最后说到写好的本地数据可以另一个页面读取: var fileData = require('../../utils/data.js') Page({ data: { showData:

  • 微信小程序学习笔记之文件上传、下载操作图文详解

    本文实例讲述了微信小程序学习笔记之文件上传.下载操作.分享给大家供大家参考,具体如下: 前面介绍了微信小程序登录API与获取用户信息操作.这里再来介绍一下文件的上传与下载操作. [文件上传]wx.uploadFile (以上传图片为例) 后台上传接口Upload.php:(tp5) <?php namespace app\home\controller; use think\Controller; class Upload extends First { //上传图片API public fun

  • 微信小程序 wx.request(接口调用方式)详解及实例

    微信小程序 wx.request----接口调用方式 最近开发了一个微信小程序版的任务管理系统,在向Java后台发送接口时遇到了一些问题,在这里做一个简单的总结. 官方接口 官方给出的接口叫做wx.request,请求方式比较简单,下面是官网给出的请求实例. wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { 'content-type': 'application/json' },

  • 微信小程序 wx.request方法的异步封装实例详解

    wx-promise-request 是对微信小程序 wx.request 方法的异步封装. 解决问题 支持 Promise (使用 es6-promise 库). 管理请求队列,解决 request 最大并发数超过 10 会报错的问题. 下载 npm install wx-promise-request 然后拷贝 dist/index.js 文件到你的小程序项目中. 使用 import {request} from './wx-promise-request'; request({ url:

随机推荐