uni-app本地图片转base64需求这个方法安卓上可以用但是鸿蒙上用不了有没有什么解决方法
uni-app本地图片转base64需求这个方法安卓上可以用但是鸿蒙上用不了有没有什么解决方法
1 回复
更多关于uni-app本地图片转base64需求这个方法安卓上可以用但是鸿蒙上用不了有没有什么解决方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中,鸿蒙系统上本地图片转base64失效的问题,可以尝试以下解决方案:
- 使用uni.getFileSystemManager()替代plus.io方法:
uni.getFileSystemManager().readFile({
filePath: '本地图片路径',
encoding: 'base64',
success: res => {
let base64 = 'data:image/jpeg;base64,' + res.data
}
})
- 确保图片路径正确,鸿蒙系统对路径格式要求更严格,建议使用绝对路径:
let path = '/storage/emulated/0/xxx.jpg' // 使用完整路径
- 检查文件读取权限,在manifest.json中配置:
"app-plus": {
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>"
]
}
}
}
- 如果仍无效,可以先用uni.downloadFile下载到临时路径再转换:
uni.downloadFile({
url: '本地文件路径',
success: res => {
let tempPath = res.tempFilePath
// 再对tempPath进行base64转换
}
})