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
}
相关推荐
星光一影20 小时前
原生社交app/工会/家族/语音房/直播社交/付费解锁聊天/广场好友圈子/一对一聊天交友
mysql·uni-app·php·html5·交友
anyup20 小时前
🔥牛逼!3分钟生成 5 套主题,还能一键切换暗黑模式!
前端·前端框架·uni-app
2501_915918411 天前
iOS 手机抓包软件怎么选?HTTPS 调试、TCP 数据流分析与多工具组合的完整实践
android·ios·智能手机·小程序·https·uni-app·iphone
游戏开发爱好者81 天前
iOS 应用上架的工程实践复盘,从构建交付到审核通过的全流程拆解
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张1 天前
iOS App 如何上架,从准备到发布的完整流程方法论
android·macos·ios·小程序·uni-app·cocoa·iphone
Json____1 天前
uni-app-数码购物商城h5手机端-前端静态网页
前端·uni-app·商城
wx_xsooop1 天前
iOS 上架4.3a 被拒【uniapp专讲】
flutter·ios·uni-app·uniapp
脾气有点小暴2 天前
uniapp滚动容器冲突
uni-app
鱼樱前端2 天前
uni-app开发app之前提须知(IOS/安卓)
前端·uni-app
二狗mao2 天前
Uniapp使用websocket进行ai回答的流式输出
websocket·网络协议·uni-app