b***@live.cn
b***@live.cn
  • 发布:2026-03-10 15:33
  • 更新:2026-03-10 15:53
  • 阅读:21

【报Bug】uni.chooseMedia 在开发调试下可以上传文件,体验版和正式版失效

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: Pro

HBuilderX类型: 正式

HBuilderX版本号: 4.87

第三方开发者工具版本号: 2.01.2510260

基础库版本号: 1.5.3

项目创建方式: HBuilderX

示例代码:

                // #endif  
                count: counts,  
                mediaType: ['image'],  
                sourceType: ['album', 'camera'],  
                // 添加文件类型限制  
                extension: ['png', 'jpg', 'jpeg'],  
                success: (res) => {  
                    console.log('选择图片', res);  
                    let tempFilePaths = res.tempFiles;  
                    let selectImage = [];  
                    tempFilePaths.forEach((item) => {  
                        // 从tempFilePath中获取文件后缀  
                        const extension = item.tempFilePath.split('.').pop().toLowerCase();  
                        const isValidExtension = ['png', 'jpg', 'jpeg'].includes(extension);  

                        if (!isValidExtension) {  
                            uni.showModal({  
                                title: "温馨提示",  
                                content: '只能上传PNG,JPG,JPEG格式的图片',  
                                showCancel: false  
                            });  
                            return;  
                        } ``` 

操作步骤:

                // #endif  
                count: counts,  
                mediaType: ['image'],  
                sourceType: ['album', 'camera'],  
                // 添加文件类型限制  
                extension: ['png', 'jpg', 'jpeg'],  
                success: (res) => {  
                    console.log('选择图片', res);  
                    let tempFilePaths = res.tempFiles;  
                    let selectImage = [];  
                    tempFilePaths.forEach((item) => {  
                        // 从tempFilePath中获取文件后缀  
                        const extension = item.tempFilePath.split('.').pop().toLowerCase();  
                        const isValidExtension = ['png', 'jpg', 'jpeg'].includes(extension);  

                        if (!isValidExtension) {  
                            uni.showModal({  
                                title: "温馨提示",  
                                content: '只能上传PNG,JPG,JPEG格式的图片',  
                                showCancel: false  
                            });  
                            return;  
                        } ``` 

预期结果:

上传并展示图片

实际结果:

提示正在上传

bug描述:

uni.chooseMedia 在开发调试下可以上传文件,体验版和正式版失效

2026-03-10 15:33 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,我对该 bug 反馈进行如下评审:


一、反馈内容完整性评估

检查项 评估结果 说明
BUG 描述 ❌ 不完整 仅描述“开发调试可用,体验版和正式版失效”,未说明平台(App?小程序?)、具体表现(是否报错?是否无响应?)、是否所有机型都复现。
代码示例 ⚠️ 不完整 代码片段不完整,缺少上传逻辑(如 uni.uploadFileuniCloud.uploadFile),无法直接运行。
复现步骤 ❌ 不清晰 仅贴出代码片段,未说明如何触发上传、是否涉及云函数、是否配置域名白名单等关键步骤。
预期结果 ✅ 合理 “上传并展示图片”是合理预期。
实际结果 ❌ 模糊 “提示正在上传”未说明是否报错、是否卡死、是否回调未触发。
分类信息 ⚠️ 缺失关键信息 未说明运行平台(App、微信小程序、H5?),未说明是否使用云打包或离线打包。

二、问题是否成立

根据知识库内容,该问题可能成立,但需补充以下关键信息才能定位:

  1. 平台差异

    • 如果是 微信小程序,需检查是否配置 隐私协议(2023年10月17日后强制要求)。
    • 如果是 App,需确认是否勾选 Camera&Gallery 模块(见 chooseMedia 兼容性)。
  2. 上传失败原因

    • 若使用 uniCloud.uploadFile,需检查 域名白名单(微信小程序需配置 uploadFile 合法域名)。
    • 若使用 uni.uploadFile,需确认 正式版/体验版是否配置了服务器域名(微信小程序需配置 request 合法域名)。
  3. 调试模式差异

    • 微信小程序的 体验版关闭调试模式 会限制网络请求(需配置域名白名单)。
    • App 的 自定义基座正式包 权限可能不同(需检查 manifest.json 的权限配置)。

三、需用户补充的信息

  1. 运行平台:App(Android/iOS)、微信小程序、H5?
  2. 上传方式uni.uploadFile 还是 uniCloud.uploadFile
  3. 错误表现:是否有报错信息(如 fail 回调返回内容)?
  4. 域名配置:微信小程序是否配置 uploadFile 合法域名?
  5. 权限配置:App 是否在 manifest.json 中勾选 Camera&Gallery 模块?

四、临时建议

  1. 微信小程序

  2. App

    • manifest.json → 模块权限配置中勾选 Camera&Gallery
    • 检查是否使用云打包(需确认云打包 SDK 版本与 HBuilderX 一致,参考 优先知识库)。
  3. 通用排查

    • 使用 try-catch 捕获上传错误,打印 fail 回调的完整错误信息。
    • 对比开发版和正式版的 manifest.json 差异。

五、结论

当前反馈信息不足以定位问题,需用户补充 平台、上传方式、错误日志、域名配置 等关键细节。建议按上述步骤排查后,补充信息再提交。

内容为 AI 生成,仅供参考
爱豆豆

爱豆豆 - 办法总比困难多

uploadFile合法域名 添加了吗?

要回复问题请先登录注册