uniapp同步将本地图片转换为base64,支持微信、H5、APP

接上篇,少了一个方法的源代码。

先上代码:

ploadFilePromiseSync = (url) => {

return new Promise((resolve, reject) => {

// #ifdef MP-WEIXIN

uni.getFileSystemManager().readFile({

filePath: url,

encoding: 'base64',

success: res => {

let base64 = 'data:image/jpeg;base64,' + res.data

resolve(base64)

},

fail: (e) => {

reject("图片转换失败")

}

});

// #endif

// #ifdef H5

uni.request({

url: url,

method: 'GET',

responseType: 'arraybuffer',

success: ress => {

let base64 = uni.arrayBufferToBase64(ress.data)

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

resolve(base64)

},

fail: (e) => {

reject("图片转换失败")

}

});

// #endif

// #ifdef APP-PLUS

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

entry.file((file) => {

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

fileReader.onloadend = (evt) => {

const base64 = evt.target.result.substr(22)

resolve(base64)

};

fileReader.readAsDataURL(file)

});

}, (e) => {

reject("Resolve file URL failed: " + e.message)

});

// #endif

});

}

只需将本地图片的路径传过去即可:

使用:

let img_base64 = await ploadFilePromiseSync(event.file.url)

这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

相关推荐
会发光的猪。15 小时前
如何获取小程序的code在uniapp开发中
前端·小程序·uni-app
duansamve16 小时前
Uniapp开发总结
uni-app
林涧泣1 天前
【Uniapp-Vue3】页面和路由API-navigateTo及页面栈getCurrentPages
前端·vue.js·uni-app
Komorebi゛1 天前
【uniapp】获取上传视频的md5,适用于APP和H5
前端·javascript·uni-app
林涧泣1 天前
【Uniapp-Vue3】动态设置页面导航条的样式
前端·javascript·uni-app
计算机-秋大田1 天前
基于微信的原创音乐小程序的设计与实现(LW+源码+讲解)
java·开发语言·后端·微信·小程序·课程设计
林涧泣2 天前
【Uniapp-Vue3】request各种不同类型的参数详解
前端·uni-app
WalkingWithTheWind~2 天前
uni-app 程序打包 Android apk、安卓夜神模拟器调试运行
android·uni-app·模拟器
计算机-秋大田2 天前
基于微信阅读网站小程序的设计与实现(LW+源码+讲解)
spring boot·后端·微信·微信小程序·小程序·课程设计
向明天乄2 天前
小程序 uniapp 地图 自定义内容呈现,获取中心点,获取对角经纬度,首次获取对角经纬度
小程序·uni-app