扑 imagepicker.pickvideo return jpg
Flutter imagepicker.pickvideo return jpg
我正在使用它来 return 视频文件,但我得到了 .jpg
Future<File> getVideo() async {
var video = await ImagePicker.pickVideo(
source: ImageSource.gallery);
return video;
}
我想要 ImagePicker.pickVideo()
return 视频文件而不是 .jpg 文件,这样我就可以将此文件上传到 firebase,我该如何实现?
我假设你正在使用这个包:
https://pub.dev/packages/image_picker
pickVideo() 方法已弃用,您需要将这些 API 替换为 getVideo()
如存储库文档所述:
https://github.com/flutter/plugins/tree/master/packages/image_picker/image_picker
这样写:
final _picker = ImagePicker();
PickedFile video = await _picker.getVideo(...)
但是我建议使用这个包作为替代:
https://pub.dev/packages/flutter_document_picker
此软件包将允许您 select 设备上的所有视频,包括从用户的 Google 云端硬盘或 iCloud 提供商获取的视频。在这种情况下这样写:
FlutterDocumentPickerParams params = FlutterDocumentPickerParams(
allowedUtiTypes: [
'public.video',
'public.mpeg',
'public.mpeg-4-audio',
'com.apple.protected-mpeg-4-audio'
],
allowedMimeTypes: [
'video/mpeg',
'video/x-flv',
'video/mp4',
'application/x-mpegURL',
'video/quicktime',
'video/x-msvideo',
'video/x-ms-wmv',
'video/ogg',
'video/mp2t',
'video/3gpp'
],
invalidFileNameSymbols: ['/'],
);
return await FlutterDocumentPicker.openDocument(params: params);
您需要确保 iOS 和 Android 上视频的 Mimes 和 Uti 类型设置正确。
我正在使用它来 return 视频文件,但我得到了 .jpg
Future<File> getVideo() async {
var video = await ImagePicker.pickVideo(
source: ImageSource.gallery);
return video;
}
我想要 ImagePicker.pickVideo()
return 视频文件而不是 .jpg 文件,这样我就可以将此文件上传到 firebase,我该如何实现?
我假设你正在使用这个包: https://pub.dev/packages/image_picker
pickVideo() 方法已弃用,您需要将这些 API 替换为 getVideo()
如存储库文档所述: https://github.com/flutter/plugins/tree/master/packages/image_picker/image_picker
这样写:
final _picker = ImagePicker();
PickedFile video = await _picker.getVideo(...)
但是我建议使用这个包作为替代: https://pub.dev/packages/flutter_document_picker
此软件包将允许您 select 设备上的所有视频,包括从用户的 Google 云端硬盘或 iCloud 提供商获取的视频。在这种情况下这样写:
FlutterDocumentPickerParams params = FlutterDocumentPickerParams(
allowedUtiTypes: [
'public.video',
'public.mpeg',
'public.mpeg-4-audio',
'com.apple.protected-mpeg-4-audio'
],
allowedMimeTypes: [
'video/mpeg',
'video/x-flv',
'video/mp4',
'application/x-mpegURL',
'video/quicktime',
'video/x-msvideo',
'video/x-ms-wmv',
'video/ogg',
'video/mp2t',
'video/3gpp'
],
invalidFileNameSymbols: ['/'],
);
return await FlutterDocumentPicker.openDocument(params: params);
您需要确保 iOS 和 Android 上视频的 Mimes 和 Uti 类型设置正确。