uni-app uni.chooseImage 在支付宝小程序未返回字段 tempFiles
uni-app uni.chooseImage 在支付宝小程序未返回字段 tempFiles
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | macOS 11.5 | CLI |
产品分类:uniapp/小程序/阿里
## 示例代码:
直接使用 uni-file-picker
```vue
<uni-file-picker
limit="9"
title="最多选择9张图片"
/>
操作步骤:
选择图片提交,必现bug
支付宝选择图片后返回字段
res: {
apFilePathsV2: [],
errMsg: "chooseImage:ok",
tempFilePaths: [],
},
缺失 tempFiles
预期结果:
返回 tempFiles 字段
具体返回字段,api 文档参看 https://uniapp.dcloud.io/api/media/image?id=chooseimage
实际结果:
未返回 tempFiles 字段
bug描述:
bug链接
你好,这里发现个 bug,
支付宝小程序选择图片有个字段未兼容的问题,这个问题是 uni-app 内兼容,还是 uni-ui 里 uni-file-picker 兼容

更多关于uni-app uni.chooseImage 在支付宝小程序未返回字段 tempFiles的实战教程也可以访问 https://www.itying.com/category-93-b0.html
支付宝小程序真机测试正常,是支付宝模拟器的问题,详见帖子:https://forum.alipay.com/mini-app/post/49301029
我们后续会在框架内判断和兼容。
已加分,感谢您的反馈!
更多关于uni-app uni.chooseImage 在支付宝小程序未返回字段 tempFiles的实战教程也可以访问 https://www.itying.com/category-93-b0.html
多谢
在支付宝小程序中,uni.chooseImage 确实未返回 tempFiles 字段,这是支付宝小程序平台自身的限制。支付宝小程序的 chooseImage API 只返回 tempFilePaths(图片本地路径数组),不提供 tempFiles(包含文件大小、类型等详细信息的对象数组)。
解决方案:
- 直接使用
uni.chooseImage:
如果需要tempFiles中的详细信息(如文件大小),可以通过tempFilePaths路径数组,调用uni.getFileInfo()或uni.getImageInfo()手动获取文件信息,例如:uni.chooseImage({ success: async (res) => { const tempFilePaths = res.tempFilePaths; // 支付宝小程序仅返回路径 const tempFiles = []; for (let path of tempFilePaths) { const fileInfo = await uni.getFileInfo({ filePath: path }); tempFiles.push({ path: path, size: fileInfo.size, // 其他字段需自行补充 }); } console.log(tempFiles); // 得到完整文件信息 } });

