uni-app ios17苹果手机上传图片时获取图片大小是0KB
uni-app ios17苹果手机上传图片时获取图片大小是0KB
产品分类:
uniapp/App
PC开发环境
操作系统 | 版本号 |
---|---|
Windows | windows11 |
HBuilderX
类型 | 版本号 |
---|---|
正式 | 3.8.7 |
手机系统
系统 | 版本号 | 厂商 | 机型 |
---|---|---|---|
iOS | iOS 17 | 苹果 | 苹果14 pro max |
页面类型
- vue
- vue版本:vue2
打包方式
- 云端
项目创建方式
- HBuilderX
App下载地址或H5网址
示例代码:
uni.chooseImage({
count: 30,
sourceType: ['camera'],
success: res => {
if (res.errMsg == 'chooseImage:ok') {
// #ifdef APP-PLUS
res.tempFilePaths.map(item => {
uni.saveFile({
tempFilePath: item,
success: res => {
var savedFilePath = res.savedFilePath;
this.imgList.push(savedFilePath);
if (this.imgList.length > 30) {
this.imgList = this.imgList.slice(0, 30);
}
}
});
});
// #endif
}
}
});
uploadTask.onProgressUpdate(res => {
//this.process = res.progress;
this.circular[this.tag].process = res.progress;
this.circular[this.tag].total = res.totalBytesExpectedToSend;
this.circular[this.tag].single = res.totalBytesSent;
});
获取的图片大小是0KB 无法上传
如果是ios17以下就可以
操作步骤:
正常上传
预期结果:
能够正常上传图片
实际结果:
无法上传
bug描述:
无法上传图片
3 回复
有没有人知道啊,是不是要升级HBuilder?
在iOS 17上,uni-app 在处理图片上传时可能会遇到图片大小为0KB的问题。这通常是由于权限设置、文件路径处理或系统API兼容性问题引起的。以下是一些可能的解决方案,以及相关的代码示例,用于帮助你定位和解决这一问题。
1. 确保应用具有访问相册的权限
首先,确保你的应用已经请求并获得了访问用户相册的权限。在manifest.json
中配置必要的权限:
"mp-weixin": {
"requiredPrivateInfos": ["chooseImage"]
},
"app-plus": {
"distribute": {
"ios": {
"permissions": {
"NSPhotoLibraryUsageDescription": "需要访问您的相册"
}
}
}
}
2. 检查图片选择逻辑
使用uni-app的chooseImage
API来选择图片,并获取其路径和大小。下面是一个示例代码,展示如何选择和显示图片大小:
uni.chooseImage({
count: 1,
sourceType: ['album', 'camera'],
success: (res) => {
const tempFilePaths = res.tempFilePaths;
const filePath = tempFilePaths[0];
// 获取文件信息
uni.getFileInfo({
filePath: filePath,
success: (fileInfo) => {
console.log('文件大小:', fileInfo.size / 1024, 'KB'); // 将字节转换为KB
// 如果文件大小为0,则进行错误处理
if (fileInfo.size === 0) {
uni.showToast({
title: '图片大小为0KB,请重新选择',
icon: 'none'
});
} else {
// 进行图片上传或其他处理
console.log('图片路径:', filePath);
}
},
fail: (err) => {
console.error('获取文件信息失败:', err);
}
});
},
fail: (err) => {
console.error('选择图片失败:', err);
}
});
3. 检查iOS系统更新和uni-app框架更新
iOS 17可能引入了新的系统API变更,确保你的uni-app框架是最新版本,并且已经适配iOS 17。检查uni-app的官方文档和更新日志,以获取关于iOS 17的兼容性和修复信息。
4. 调试和日志
使用Xcode调试你的应用,查看在图片选择和处理过程中是否有任何错误或警告信息。这些信息可以帮助你进一步定位问题。
通过上述步骤和代码示例,你应该能够定位并解决在iOS 17上uni-app上传图片时获取图片大小为0KB的问题。如果问题仍然存在,建议查看uni-app社区和官方支持,以获取更多帮助。