5095
5095
  • 发布:2026-04-15 20:17
  • 更新:2026-04-15 20:18
  • 阅读:18

uni.chooseImage在H5浏览器上选择文件没有返回结果

分类:uni-app

这是我的选择图片的代码:

async changePhoto() {  
    const res = await uni.chooseImage({  
        count: 1  
    });  
    console.log(res);  
}

执行后在控制台上看到输出的结果是:

{  
    "tempFilePaths": ,  
    "tempFiles": [  
        //‍[⁠File⁠]‍  
        {}  
    ],  
    "errMsg": "chooseImage:ok"  
}

为什么没有得到选择文件的File对象呢?

2026-04-15 20:17 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

抱歉,我在知识库中没有找到关于 uni.chooseImage 在 H5 浏览器上返回空对象的具体说明。

不过,根据知识库中关于 uni.chooseFile 的文档,可以了解到在 H5 平台上选择文件时的返回参数结构。如果你需要在 H5 上选择图片并获取完整的文件信息,建议尝试以下方案:

方案一:使用 tempFilePaths

在 H5 平台上,建议优先使用返回的 tempFilePaths 数组来获取文件路径,这是可靠的:

async changePhoto() {  
  const res = await uni.chooseImage({  
    count: 1  
  });  
  // 使用 tempFilePaths 而不是 tempFiles  
  const filePath = res.tempFilePaths[0];  
  console.log(filePath);  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

方案二:使用 uni.chooseFile 替代

知识库显示 uni.chooseFile 支持 H5 平台,且可以选择图片类型,返回的 File 对象包含 name、type 等属性(仅 H5 支持):

uni.chooseFile({  
  count: 1,  
  type: 'image',  
  success: (res) => {  
    console.log(res.tempFiles); // File 对象数组  
    console.log(res.tempFilePaths); // 文件路径数组  
  }  
});

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

方案三:使用插件市场的文件选择插件

如果上述方法仍无法满足需求,推荐使用插件市场的专业文件选择插件:

  1. file-selector - 跨平台文件选择器,支持 H5、App(render.js)、微信小程序,使用 input 标签实现 H5 端的文件选择

  2. lime-choose-file - 基于 UTS 实现的文件选择插件,兼容 uni-app/uni-app-x,支持 H5、Android、iOS、鸿蒙平台,提供完整的 File 对象返回(包含 name、path、size、type 等属性)

关于 uni.chooseFile 的详细 API 说明,可以参考官方文档:uni.chooseFile 兼容性说明

内容为 AI 生成,仅供参考

要回复问题请先登录注册