const data = await new Promise((r,j)=>{
plus.io.resolveLocalFileSystemURL(url,function(entry){
entry.file(function(file){
const reader = new plus.io.FileReader()
reader.readAsDataURL(file)
reader.onloadend = (e)=>{
let s = e.target.result
s = s.replace(/^data:[^;]+;base64,/, '')
s = uni.base64ToArrayBuffer(s)
r(s)
}
reader.onerror = (e)=>{
j(e)
}
})
},function(e){
plus.nativeUI.toast(e.message)
j(e)
})
})
- 发布:2024-01-29 15:08
- 更新:2024-10-10 14:37
- 阅读:676
【报Bug】plus.io.resolveLocalFileSystemURL 方法在APP第一次启动时,无法读取绝对路径和相对路径的视频和图片,重新启动APP又能正常读取
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 3.99
手机系统: Android
手机系统版本号: Android 11
手机厂商: OPPO
手机机型: A91
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
任意页面选择图片或视频,通过plus.io.resolveLocalFileSystemURL进行读取文件,将URL编码转成arraybuffer对象,只有APP第一次启动才会出现无响应,第二次之后进入APP,就能正常读取文件转arraybuffer
任意页面选择图片或视频,通过plus.io.resolveLocalFileSystemURL进行读取文件,将URL编码转成arraybuffer对象,只有APP第一次启动才会出现无响应,第二次之后进入APP,就能正常读取文件转arraybuffer
预期结果:
plus.io.resolveLocalFileSystemURL正常读取文件
plus.io.resolveLocalFileSystemURL正常读取文件
实际结果:
plus.io.resolveLocalFileSystemURL第一次无任何响应
plus.io.resolveLocalFileSystemURL第一次无任何响应
bug描述:
APP第一次启动时,使用uni.chooseImage和uni.chooseVideo选择图片或视频,无论图片或视频是否压缩(chooseImage:sizeType: ['original','compressed']、chooseVideo:compressed: true),获取的上传路径,通过plus.io.resolveLocalFileSystemURL( url, succesCB, errorCB )都无响应,无成功回调,无报错提示
2 个回复
1***@qq.com (作者)
@DCloud_HB_WJ @DCloud_UNI_WJX @DCloud_UNI_HRK @DCloud_UNI_OttoJi @DCloud_HB_GY @DCloud_HB_Gml @DCloud_Android_YJC @DCloud_Android_DQQ @DCloud_Android_THB @DCloud_Android_zl
1***@qq.com
遇到同样的问题了,请问解决了吗?