react-native - 如何在 react-native-document-picker 中仅选择 mp3 文件?
问题描述
如标题所示。我试图只选择 mp3 文件,但似乎在 iphone 上它们不可用。现在我正在以这种方式挑选文件:
const results = await DocumentPicker.pick({
type: [DocumentPicker.types.audio],
})
但是类型是这样定义的,除了它们我不能选择任何东西:
type Types = {
mimeTypes: {
allFiles: '*/*',
audio: 'audio/*',
images: 'image/*',
plainText: 'text/plain',
pdf: 'application/pdf',
video: 'video/*',
zip: 'application/zip',
},
utis: {
allFiles: 'public.content',
audio: 'public.audio',
images: 'public.image',
plainText: 'public.plain-text',
pdf: 'com.adobe.pdf',
video: 'public.movie',
zip: 'public.zip-archive',
},
extensions: {
allFiles: '*',
audio:
'.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma',
images: '.jpeg .jpg .png',
plainText: '.txt',
pdf: '.pdf',
video: '.mp4',
zip: '.zip .gz',
},
};
有什么办法吗?
解决方案
您可以通过Android 上的常见 MIME 类型和iOS 上的统一类型标识符过滤文件类型。所以在Javascript中这样的东西应该可以工作:
const res = await DocumentPicker.pick({
type: [Platform.OS === 'ios' ? 'public.mp3' : 'audio/mpeg'],
});
推荐阅读
- flutter - 带有 SliverApp 栏的 Home 底部应用栏
- python - 使用 Python 在 Windows 10 上跟踪 7zip 进度
- entity-framework-6 - EntityFramework(数据库优先)为 SQL DB 使用 Azure 托管标识
- javascript - JSON 对象不返回饼图
- java - 支持由多个团队管理的多个工作流的服务器设计建议
- java - 尝试制作登录页面,我被卡住了![爪哇]
- vba - Access DB - 在一个字段中保存文件位置(完整)链接/路径,在另一个字段中保存文件名(两者或其中一个都应可单击以打开文件)
- unity3d - 如何访问附加到预制件的孩子的对撞机?
- javascript - 嵌套模式的猫鼬查询
- spring - 不同的Springboot服务使用同一张表