uni-app ufilepicker手动上传多张图片后删除其中一张临时图片再执行this.$refs.files.upload()剩余图片无法上传
uni-app ufilepicker手动上传多张图片后删除其中一张临时图片再执行this.$refs.files.upload()剩余图片无法上传
示例代码:
发现问题是,delFiles执行后,this.files中的所有文件的status等字段消失了,而上传前判断status == ready的文件才能上传导致剩余几张不上传了。
操作步骤:
如描述
预期结果:
删除其中一张,剩余几张图片仍然能够上传
实际结果:
剩余图片不上传了
bug描述:
ufilepicker采用手动上传,上传多张后删除其中一张临时图片,然后执行this.$refs.files.upload()结果剩余几张无法上传
| 信息类型 | 信息 |
|---|---|
| 产品分类 | uniCloud/App |
更多关于uni-app ufilepicker手动上传多张图片后删除其中一张临时图片再执行this.$refs.files.upload()剩余图片无法上传的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,这个问题解决了吗?我也遇到这个问题,删除一张照片后,手动上传就失效
更多关于uni-app ufilepicker手动上传多张图片后删除其中一张临时图片再执行this.$refs.files.upload()剩余图片无法上传的实战教程也可以访问 https://www.itying.com/category-93-b0.html
问题出在删除文件后,文件对象的 status 字段丢失,导致上传逻辑无法识别为就绪状态。ufilepicker 组件在删除文件时,可能没有正确维护剩余文件的状态。
解决方案:
在 delFiles 方法中删除文件后,需要手动重置剩余文件的 status 为 'ready',以确保它们能被正确识别并上传。
修改后的 delFiles 方法示例:
delFiles(index) {
// 删除指定索引的文件
this.files.splice(index, 1);
// 重置剩余文件的状态为 ready
this.files.forEach(file => {
if (!file.status || file.status !== 'success') {
file.status = 'ready';
}
});
}

