uni-app uni-file-picker file-mediatype设置成all时报错API chooseFile is not yet implemented

uni-app uni-file-picker file-mediatype设置成all时报错API chooseFile is not yet implemented

开发环境 版本号 项目创建方式
Mac 13.3 HBuilderX
### 操作步骤:
默认使用基础附件上传就会报错

### 预期结果:
可以上传所有文件

### 实际结果:
除了图片视频其他都不行

### bug描述:
uni-file-picker file-mediatype设置成all报错API chooseFile is not yet implemented 

更多关于uni-app uni-file-picker file-mediatype设置成all时报错API chooseFile is not yet implemented的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

还没解决?

更多关于uni-app uni-file-picker file-mediatype设置成all时报错API chooseFile is not yet implemented的实战教程也可以访问 https://www.itying.com/category-93-b0.html


选择文件类型,all 只支持 H5 和微信小程序平台

你这跨平台不彻底啊, 咋能只支持微信和h5呢

all类型, 多一次弹窗选择图片和视频不就行了么? 或者选择时图片视频混选, 录制长按录像,短按拍照, 这俩方案都行啊

选了视频,还不能预览视频么? 也没有提供一个触发事件可看选中的视频么?

回复 5***@qq.com: 这主要是受平台的API限制

uni-app 中使用 uni-file-picker 组件时,如果你将 file-mediatype 设置为 all 时出现报错 API chooseFile is not yet implemented,这通常是因为在某些平台(如微信小程序)上,chooseFile API 尚未完全实现或支持。

解决方案

  1. 检查平台支持: 首先,确保你使用的平台支持 chooseFile API。目前,chooseFile 在微信小程序中可能不支持 file-mediatype="all",你可以尝试将其设置为 imagevideo 等其他类型。

  2. 使用条件编译: 你可以使用条件编译来针对不同平台进行不同的处理。例如,在微信小程序中使用 chooseImagechooseVideo 来代替 chooseFile

    // #ifdef MP-WEIXIN
    uni.chooseImage({
      count: 1, // 默认9
      success: (res) => {
        console.log(res.tempFilePaths[0]);
      }
    });
    // #endif
    
    // #ifndef MP-WEIXIN
    uni.chooseFile({
      count: 1,
      type: 'all',
      success: (res) => {
        console.log(res.tempFilePaths[0]);
      }
    });
    // #endif
    
  3. 降级处理: 如果目标平台不支持 chooseFile,你可以考虑降级处理,例如只允许用户选择图片或视频。

    <uni-file-picker file-mediatype="image"></uni-file-picker>
回到顶部