uni-app uni.uploadFile+uni.uploadFile红米k80 澎湃系统 最近文件点选图片无反应 切换相册可选择图片 但是确定后未上传
uni-app uni.uploadFile+uni.uploadFile红米k80 澎湃系统 最近文件点选图片无反应 切换相册可选择图片 但是确定后未上传
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win11 | HBuilderX |
示例代码:
const chooseFileUpload = () => {
uni.chooseFile({
count: 3, //默认100
extension: ['.pdf', '.doc', '.xlsx', '.jpg', '.jpeg', '.png'],
success: function (res) {
const tempFilePaths = res.tempFilePaths;
if(uploadFileData.length >= 3) {
uni.showToast({
title: '附件最多上传3份',
icon: 'none', // 图标,可选值:success、loading、none
duration: 3000 // 提示框显示时长,单位为毫秒
});
return false;
}
uni.uploadFile({
url: uploadUrl.value,
filePath: tempFilePaths[0],
name: 'file',
header: uploadHeader,
success: (uploadFileRes) => {
interface uploadFileDataInter {
data: {id: number, name: string}
}
let fileSuccessData: uploadFileDataInter = JSON.parse(uploadFileRes.data)
uploadFileData.push({
'id': fileSuccessData.data.id,
'name': fileSuccessData.data.name
})
},
fail: (error) => {
console.log(error);
}
});
}
}
);
}
操作步骤:
点击按钮打开了最近文件,最近文件点选图片无反应,切换相册可选择图片,但是确定后未上传
预期结果:
点选文件即刻上传
实际结果:
最近文件点选图片无反应,切换相册可选择图片,但是确定后未上传
bug描述:
【报Bug】uni.uploadFile+uni.uploadFile红米k80、 澎湃系统2.0.216.0、 微信版本8.0.53,最近文件点选图片无反应,切换相册可选择图片,但是确定后未上传
更多关于uni-app uni.uploadFile+uni.uploadFile红米k80 澎湃系统 最近文件点选图片无反应 切换相册可选择图片 但是确定后未上传的实战教程也可以访问 https://www.itying.com/category-93-b0.html
相同代码运行其他机器是否有这个问题?chooseImage/chooseMedia 运行到空白工程是否有问题,success/fail 会触发吗。得到 tempFile 是否能获取到?建议先使用空白工程说明问题。
更多关于uni-app uni.uploadFile+uni.uploadFile红米k80 澎湃系统 最近文件点选图片无反应 切换相册可选择图片 但是确定后未上传的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题是红米K80在澎湃OS 2.0系统下的兼容性问题,主要涉及uni.chooseFile和uni.uploadFile的配合使用。从现象分析:
- 最近文件无反应:系统文件选择器的"最近文件"模块存在点击事件未正确触发的兼容性问题
- 相册选择后未上传:文件选择成功回调执行了,但
uni.uploadFile未正常触发
解决方案:
- 添加错误处理:在
uni.chooseFile和uni.uploadFile中都补充完整的fail回调
uni.chooseFile({
count: 3,
extension: ['.pdf', '.doc', '.xlsx', '.jpg', '.jpeg', '.png'],
success: function (res) {
// 文件选择成功处理
const tempFilePaths = res.tempFilePaths;
if(uploadFileData.length >= 3) {
uni.showToast({
title: '附件最多上传3份',
icon: 'none',
duration: 3000
});
return false;
}
// 上传前确认文件路径有效
if(tempFilePaths && tempFilePaths.length > 0) {
uni.uploadFile({
url: uploadUrl.value,
filePath: tempFilePaths[0],
name: 'file',
header: uploadHeader,
success: (uploadFileRes) => {
// 上传成功处理
},
fail: (error) => {
console.error('上传失败:', error);
uni.showToast({
title: '上传失败',
icon: 'none'
});
}
});
}
},
fail: (err) => {
console.error('文件选择失败:', err);
uni.showToast({
title: '文件选择失败',
icon: 'none'
});
}
});
- 添加超时处理:针对上传过程可能卡住的情况
// 设置上传超时
setTimeout(() => {
// 检查上传状态,如未完成可提示用户重试
}, 10000);

