uni-app 小程序选择图片时出现了视频

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app 小程序选择图片时出现了视频

操作步骤:

  • 程序使用uni.chooseImage,到选择图片界面,选择收藏文件夹,会展示收藏的视频

预期结果:

  • 只显示图片

实际结果:

  • 会显示视频

bug描述:

  • 在使用uni.chooseImage时,在华为手机上可以选择收藏中的视频

| 信息类别       | 详细信息     |
|----------------|--------------|
| 产品分类       | uniapp/小程序/微信 |
| PC开发环境操作系统 | Windows      |
| PC开发环境操作系统版本号 | 11           |
| HBuilderX类型   | 正式         |
| HBuilderX版本号 | 3.98         |
| 第三方开发者工具版本号 | 1.06.2308310 |
| 基础库版本号    | 3.2.4        |
| 项目创建方式    | HBuilderX    |
| App下载地址或H5网址 | [小程序----》复课通](//ask.dcloud.net.cn/小程序----》复课通) |

4 回复

微信小程序从基础库 2.21.0 开始, wx.chooseImage 停止维护,你可以用uni.choosemedia试试,如还有问题,请向微信开发社区反馈。


使用uni.chooseMedia还是存在问题,选择一张图片的时候可以,但是选择多张图片的时候不生效count: number, //默认9 mediaType: [‘image’], sizeType: [‘compressed’], //可以指定是原图还是压缩图,默认二者都有 sourceType: [‘album’, ‘camera’],

回复 1***@qq.com: 请向微信开发者社区反馈

在 Uni-App 中,小程序选择图片时出现视频的情况,通常是因为在调用 uni.chooseImageuni.chooseMedia 时,未正确设置参数,导致选择了视频文件。以下是一些可能的原因和解决方法:


1. 使用 uni.chooseImage 时出现视频

uni.chooseImage 是专门用于选择图片的 API,默认情况下不应该选择视频。如果出现视频,可能是以下原因:

  • 原因:某些小程序平台(如微信小程序)可能会将视频文件也作为图片返回,尤其是当用户从相册中选择时。
  • 解决方法
    • uni.chooseImagesuccess 回调中,检查返回的文件类型,过滤掉视频文件。
    • 示例代码:
      uni.chooseImage({
        count: 9, // 最多选择 9 张图片
        success: (res) => {
          const tempFilePaths = res.tempFilePaths;
          const validImages = tempFilePaths.filter((filePath) => {
            return !filePath.endsWith('.mp4') && !filePath.endsWith('.mov'); // 过滤掉视频文件
          });
          console.log('选择的图片:', validImages);
        }
      });

2. 使用 uni.chooseMedia 时出现视频

uni.chooseMedia 是用于选择图片和视频的 API,默认情况下可以选择图片和视频。如果只想选择图片,需要设置 mediaType 参数。

  • 原因:未设置 mediaType 参数,导致默认选择了图片和视频。
  • 解决方法
    • mediaType 设置为 ['image'],限制只能选择图片。
    • 示例代码:
      uni.chooseMedia({
        count: 9, // 最多选择 9 个文件
        mediaType: ['image'], // 只选择图片
        success: (res) => {
          const tempFiles = res.tempFiles;
          console.log('选择的图片:', tempFiles);
        }
      });
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!