image_picker_web 1.0.1 image_picker_web: ^1.0.1 copied to clipboard
Flutter Web Plugin to pick Images (as Widget or Uint8List) and Videos (as Uint8List)
ImagePickerWeb #
This Web-Plugin allows Flutter Web to pick images (as Widget or Uint8List) and videos (as Uint8List). Many thanks goes to AlvaroVasconcelos for the implementation of picking images in his plugin: flutter_web_image_picker
Disclaimer for Videos #
- Till now [Feb. 2020] it's not possible (due to security reasons) to load a local video file (see also video_player_web). But you can retreive the bytes and upload them somewhere and play it as a network source.
Getting Started #
Add image_picker_web
to your pubspec.yaml:
image_picker_web: any
Picking Images #
To load an image do:
Image fromPicker = await ImagePickerWeb.getImage(outputType: ImageType.widget);
if (fromPicker != null) {
setState(() {
pickedImage = fromPicker;
});
}
You can also load only the bytes by setting asUint8List
to true
:
Uint8List bytesFromPicker =
await ImagePickerWeb.getImage(outputType: ImageType.bytes);
if (bytesFromPicker != null) {
debugPrint(bytesFromPicker.toString());
}
Picking Videos #
To load a video as html.File do:
html.File videoFile = await ImagePickerWeb.getVideo(outputType: VideoType.file);
debugPrint('---Picked Video File---');
debugPrint((videoFile as html.File).name.toString());
To load a video as Uint8List do:
Uint8List videoData = await ImagePickerWeb.getVideo(outputType: VideoType.bytes);
debugPrint('---Picked Video Bytes---');
debugPrint(videoData.toString());
After that you can upload your video somewhere hosted and retreive the network url to play it.
MediaInfos #
- The methods
getVideoInfo
andgetImageInfo
are also available and you should use them to save the original fileName and mediaType.
Support #
Like my work? You can support me here: