扑 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 类型设置正确。