uniapp将图片转换为base64字符串的方法
uniapp是很常用的开发平台,前端操作经常需要将图片转换成base64字符串,这就是uniapp的解决方案
阅读:93

// 图片转base64方法

imgToBase64(url, callback) {

 // #ifdef MP-WEIXIN

 

 uni.getFileSystemManager().readFile({

  filePath: url, //选择图片返回的相对路径

  encoding: 'base64', //编码格式

  success: res => { //成功的回调

   console.log(res, '返回结果');

   let base64 = 'data:image/jpeg;base64,' + res.data //不加上这串字符,在页面无法显示的哦

   callback && callback(base64)

  },

  fail: (e) => {

   console.log("图片转换失败");

  }

 })

 

 // #endif

 

 // #ifdef H5

 

 uni.request({

  url: url,

  method: 'GET',

  responseType: 'arraybuffer',

  success: res => {

   if (res.header['content-length'] > 450 * 1024) {

    return uni.showToast({

     title: '图片大小不能超过450k',

     icon: 'none'

    })

   }

   let base64 = uni.arrayBufferToBase64(res.data); //把arraybuffer转成base64

   base64 = 'data:image/jpeg;base64,' + base64;

   callback && callback(base64)

  },

  fail: (e) => {

   console.log("图片转换失败");

  }

 })

 

 // #endif

 

 // #ifdef APP-PLUS

 

 plus.io.resolveLocalFileSystemURL(url, (entry) => {

  entry.file((file) => {

   let fileReader = new plus.io.FileReader();

   if (file.size > 450 * 1024) {

    return uni.showToast({

     title: '图片大小不能超过450k',

     icon: 'none'

    })

   }

   fileReader.onloadend = (e) => {

    callback && callback(e.target.result)

   };

   fileReader.readAsDataURL(file);

  })

 })

 // #endif

}


相关文章
uniapp 图片裁剪插件推荐
uniapp 图片裁剪插件推荐
阅读:91