当前位置: 首页 > news >正文

uniapp - H5和微信小程序上传 base64 图片

1. 前言

在做订单评论的时候,需要图片上传,开始使用的 FormData 上传,但是后端一直获取不到上传的 file ,由于之前是使用 taro 开发的H5和微信小程序,所以对 uniapp 开发不是很熟悉,使用了创建 input 标签,然后设置属性,来获取图片,最后提交上传。结果发现还是提交不成功,最后发现在 taro 那边使用的将图片转换为 base64 ,然后再提交上传,就按照这个思路实现。

2. H5 将选择图片转 base64

2.1 使用 XMLHttpRequest 和 FileReader 实现图片转 base64
// H5端获取图片的base64
function getWebBase64 (filePath) {return new Promise((resolve, reject) => { let xhr = new XMLHttpRequest();xhr.open('GET', filePath, true);xhr.responseType = 'blob';xhr.onload = function() {if (this.status === 200) {let fileReader = new FileReader();fileReader.onload = function(e) {resolve(e.target.result);}fileReader.onerror = reject;fileReader.readAsDataURL(this.response);}}xhr.onerror = reject;xhr.send();})
}
2.2 使用 fetch 和 FileReader 实现图片转 base64
// H5端获取图片的base64
function getWebBase64 (filePath) {return new Promise((resolve, reject) => { fetch(filePath).then(fetchRes => {return fetchRes.blob()}).then(data => {let fr = new FileReader()fr.onload = function(){resolve(fr.result)}

http://www.mrgr.cn/news/1234.html

相关文章:

  • 【数据结构】汇总八、排序算法
  • labview经验分享1-任意16进制字符类型匹配
  • 【数据结构】队列的实现
  • 学习GitHub:注册与Linux环境对工作内容进行库分支上传
  • 【学习日记】【第五十一章 Linux中断实验】【流程图】——正点原子I.MX6U嵌入式Linux驱动开发
  • 智慧排水远程监测系统物联网解决方案
  • 网络通信要素
  • 27 lvs-nat模式与lvs-dr模式设置
  • 无线领夹麦克风哪个品牌音质最好?一文看懂如何挑选好的麦克风
  • 浅谈C#之Winform
  • 深入学习SQL优化的第二天
  • selenium学习记录
  • 【js引擎】如何使用 quickjs 把一个 js 值转换成 c 字符串
  • Java实现Excel导入(从oss中导入到数据库)
  • Spark-SparkSubmit详细过程
  • HarmonyOS 端云一体化 -- 项目初始化
  • 网络编程(TCP/UDP)
  • JVM对象在堆、栈、TLAP上的分配
  • 使用Python实现深度学习模型:智能娱乐与虚拟现实技术
  • SQL— DML语句学习【后端 10】