uni-app相册选择空白 Unsupported fetch for asset collections with type 2 and subtype 2
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
离线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>
可能的问题及解决方法
-
API权限问题:确保您的应用已在
manifest.json
中声明了必要的权限,如访问相册和相机。 -
平台差异:不同平台(如iOS和Android)可能对资源访问有不同的限制。检查您的代码是否考虑了这些差异。
-
资源类型错误:错误信息提示不支持的资源类型,可能是因为某些特定类型或子类型的资源在您的平台上不被支持。
尝试sourceType调整
或sizeType
的配置。 -
SDK版本:确保您使用的
uni-app
SDK 版本支持,您正在尝试使用的功能。如果不支持,考虑升级SDK。 -
设备兼容性问题:在某些设备上特定的资源访问可能因设备或操作系统版本而异。测试您的应用在不同设备和操作系统版本上的表现。
通过上述代码和检查步骤,您应该能够诊断并解决遇到的问题。如果问题仍然存在,建议查阅 uni-app
的官方文档或社区论坛获取更多帮助。