uni-app相册选择空白 Unsupported fetch for asset collections with type 2 and subtype 2

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

uni-app相册选择空白 Unsupported fetch for asset collections with type 2 and subtype 2

开发环境 版本号 项目创建方式
Mac 15.0.1 HBuilderX
iOS iOS 18

操作步骤:

uni.chooseImage({ sourceType: [“album”, “camera”], sizeType: [“original”, “compressed”],


### 预期结果:

显示相册

实际结果:

显示页面了,但是没有图片


### bug描述:

uni.chooseImage({
sourceType: ["album", "camera"],
sizeType: ["original", "compressed"],

ios xcode中报Unsupported fetch for asset collections with type 2 and subtype 2 https://github.com/banchichen/TZImagePickerController/issues/1685 和这个问题一样 https://github.com/longitachi/ZLPhotoBrowser/issues/936


2 回复

离线SDK更新到4.32


针对您遇到的 uni-app 相册选择空白问题,以及错误信息 “Unsupported fetch for asset collections with type 2 and subtype 2”,这通常表明在尝试访问相册资源时,遇到了不被支持的资源类型或子类型。在 uni-app 中,处理相册选择通常涉及使用 uni.chooseImage API。下面我将提供一个基本的代码示例,并解释一些可能导致问题的原因及解决方法。

基本代码示例

// 在页面的 methods 中添加以下函数
methods: {
    chooseImages() {
        uni.chooseImage({
            count: 9, // 最多可以选择的图片张数
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
            success: (res) => {
                // tempFilePath可以作为img标签的src属性显示图片
                const tempFilePaths = res.tempFilePaths;
                console.log('选中的图片路径:', tempFilePaths);
                // 此处可添加代码将图片路径显示到页面上或进行其他处理
            },
            fail: (err) => {
                console.error('选择图片失败:', err);
                // 可以根据错误信息进行相应的处理
                if (err.message.includes('Unsupported fetch')) {
                    uni.showToast({
                        title: '不支持的资源类型',
                        icon: 'none'
                    });
                }
            }
        });
    }
}

// 在页面的模板中添加按钮触发选择图片
<template>
    <view>
        <button type="primary" @click="chooseImages">选择图片</button>
    </view>
</template>

可能的问题及解决方法

  1. API权限问题:确保您的应用已在 manifest.json 中声明了必要的权限,如访问相册和相机。

  2. 平台差异:不同平台(如iOS和Android)可能对资源访问有不同的限制。检查您的代码是否考虑了这些差异。

  3. 资源类型错误:错误信息提示不支持的资源类型,可能是因为某些特定类型或子类型的资源在您的平台上不被支持。 尝试sourceType调整sizeType 的配置。

  4. SDK版本:确保您使用的 uni-app SDK 版本支持,您正在尝试使用的功能。如果不支持,考虑升级SDK。

  5. 设备兼容性问题:在某些设备上特定的资源访问可能因设备或操作系统版本而异。测试您的应用在不同设备和操作系统版本上的表现。

通过上述代码和检查步骤,您应该能够诊断并解决遇到的问题。如果问题仍然存在,建议查阅 uni-app 的官方文档或社区论坛获取更多帮助。

回到顶部