uni-app 3.1 ios 快照图片路径有空格 在某些地方无法使用
uni-app 3.1 ios 快照图片路径有空格 在某些地方无法使用
类别 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC版本号 | 3.1.4 |
HBuilderX | 正式版 |
HBuilderX版本号 | 3.1.4 |
手机系统 | iOS |
手机版本号 | iOS 13.0 |
手机厂商 | 苹果 |
手机机型 | iPhone6 / iPhone8 |
页面类型 | vue |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
uni.compressImage({
src:'file://' + success.tempImagePath,
success:compressImage=> {
// 路径中带有空格
},
fail: (err) => {
this.silentPhotoTaking(num)
}
})
操作步骤:
使用h5+,在页面中创建推流窗口,然后调用快照,压缩图片,进行上传
预期结果:
图片路径没有空格,可以正常使用
实际结果:
图片路径有空格,调用阿里云接口报错
bug描述:
使用LivePusher快照之后压缩图片
更多关于uni-app 3.1 ios 快照图片路径有空格 在某些地方无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 3.1 ios 快照图片路径有空格 在某些地方无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在iOS系统中,文件路径包含空格确实可能导致某些接口(如阿里云OSS上传)无法正确解析路径,引发操作失败。这是iOS文件系统的特性,路径中的空格需要被编码或处理才能被正确识别。
解决方案:
-
路径编码处理
使用encodeURI()
或encodeURIComponent()
对包含空格的路径进行编码:uni.compressImage({ src: 'file://' + encodeURI(success.tempImagePath), success: compressImage => { // 处理压缩后的图片 }, fail: err => { console.error('压缩失败:', err); } });
编码后的空格会被转换为
%20
,符合URL规范,避免路径解析错误。 -
替换空格(备选方案)
如果编码无效,可尝试直接替换空格:const safePath = success.tempImagePath.replace(/ /g, '%20'); uni.compressImage({ src: 'file://' + safePath, // ... });