uniapp中根据图片路径(网络或本地路径)转换为base64

uniapp中根据图片路径(网络或本地路径)转换为base64

javascript 复制代码
/**
 * 图片地址转换为base64格式图片
 * @param {string} url 图片地址 可网络地址、本地相对路径
 * @param {string} type base64图片类型 默认png
 */
function urlToBase64(url, type = 'png') {
  let promises

  // 网络地址 或者h5端本地相对路径 可使用request方式
  promises = new Promise((resolve, reject) => {
    uni.request({
      url: url,
      method: 'GET',
      responseType: 'arraybuffer',
      success: (res) => {
        const base64 = `data:image/${type};base64,${uni.arrayBufferToBase64(res.data)}`
        resolve(base64);
      },
      fail: (err) => {
        reject(err);
      },
    })
  })

  // #ifdef APP
  if (!url.startsWith('http')) {
    // app真机本地相对路径
    promises = new Promise((resolve, reject) => {
      uni.compressImage({
        src: url,
        quality: 100, // 图片质量压缩0~100,100表示图片质量保持原样
        success: (res) => {
          const tempUrl = res.tempFilePath // 使用compressImage获取到安卓本地路径file:///...
          plus.io.resolveLocalFileSystemURL(tempUrl, (entry) => {
            entry.file((e) => {
              let fileReader = new plus.io.FileReader();
              fileReader.onload = (r) => {
                resolve(r.target.result)
              }
              fileReader.readAsDataURL(e)
            })
          })
        },
        fail: (err) => {
          reject(err);
        },
      })
    })
  }
  // #endif

  return promises
}
相关推荐
莫空000023 分钟前
uView Plus TabBar完美适配iOS安全区:告别底部小横条遮挡烦恼!
微信小程序·uni-app
万岳软件开发小城2 小时前
基于Uniapp+PHP的教育培训系统开发指南:网校源码实战剖析
uni-app·php·软件开发·在线教育系统源码·教育平台搭建·教育app开发·网校小程序
從南走到北17 小时前
设备巡检系统小程序ThinkPHP+UniApp
微信小程序·小程序·uni-app·微信公众平台
刘大浪20 小时前
uniapp 实战新闻页面(一)
android·uni-app
我是shenzhongchaoii1 天前
写100个前端效率工具(1):uni-app海报生成 uni-wxml2canvas
uni-app
moxiaoran57531 天前
uni-app项目实战笔记16--实现头部导航栏效果
笔记·uni-app
Q_Q5110082851 天前
python+uniapp基于微信小程序健康管理系统
spring boot·python·微信小程序·django·flask·uni-app·node.js
Heyuan_Xie1 天前
uni-app总结5-UTS插件开发
uni-app
debug time2 天前
uniapp 对接deepseek
uni-app
java_强哥2 天前
uniapp实现聊天中的接发消息自动滚动、消息定位和回到底部
javascript·vue.js·uni-app