A Flutter plugin for iOS and Android for picking images from the image library, and taking new pictures with the camera.
Note: This plugin is still under development, and some APIs might not be available yet. Feedback welcome and Pull Requests are most welcome!
First, add image_picker as a dependency in your pubspec.yaml file.
Add the following keys to your Info.plist file, located in <project root>/ios/Runner/Info.plist:
NSPhotoLibraryUsageDescription - describe why your app needs permission for the photo library. This is called Privacy - Photo Library Usage Description in the visual editor.NSCameraUsageDescription - describe why your app needs access to the camera. This is called Privacy - Camera Usage Description in the visual editor.Add the following permissions to your Android Manifest, located in `/android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.CAMERA"/>
You're good to go!
import 'package:image_picker/image_picker.dart'; class _MyHomePageState extends State<MyHomePage> { File imageFile; getImage() async { var _fileName = await ImagePicker.pickImage(); setState(() { imageFile = _fileName; }); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text('Image Picker Example'), ), body: new Center( child: imageFile == null ? new Text('No image selected.') : new Image.file(imageFile), ), floatingActionButton: new FloatingActionButton( onPressed: getImage, tooltip: 'Pick Image', child: new Icon(Icons.add_a_photo), ), ); } }