首页 > Web开发 > 详细

Taro 本地图片上传转Base64

时间:2021-04-30 17:54:12      阅读:122      评论:0      收藏:0      [点我收藏+]

描述

  • 使用Taro将本地图片转成base64格式

尝试一 (真机提示有误)

  1. 使用Taro.chooseImage获取图片路径
  2. 然后使用下面的方法转成base64,但发现真机调试时会提示“接口请求失败”
  3. 模拟器获取的图片path是"http://xxx",真机获取的图片path是"wxfile://xxx"
/** 本地图片转Base64*/
async function imgToBase64({ path }) {
  try {
    const result = await Taro.request({
      url: path,
      responseType: "arraybuffer"
    });
    if (result && result.statusCode !== 200) {
      Taro.getLogManager().warn("图片获取失败", result);
      throw new Error("图片获取失败。");
    }
    let base64 = Taro.arrayBufferToBase64(result.data);
    base64 = "data:image/jpeg;base64," + base64;
    return base64;
  } catch (error) {
    console.warn("=> utilssearch.ts error imgToBase64", error);
    throw error;
  }
}

尝试二(可行)

/**
 * 本地图片转Base64
 * @param param.path 文件路径
 * @returns Base64图片字符串
 */
function imgToBase64({ path }) {
  let res = "";
  try {
    const base64 = Taro.getFileSystemManager().readFileSync(path, "base64");
    if (base64) {
        res = "data:image/jpeg;base64," + base64;
    }
  } catch (error) {
    console.warn("=> utilssearch.ts error imgToBase64", error);
    throw error;
  } finally {
    return res;
  }
}

Taro 本地图片上传转Base64

原文:https://www.cnblogs.com/KevinTseng/p/14722649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!