image_picker_saver 0.0.1 image_picker_saver: ^0.0.1 copied to clipboard
Image Picker and Saver plugin for Flutter Android supported IOS implementing fork form 'https://github.com/flutter/plugins/tree/master/packages/image_picker' 0.4.6 and add saver to save image to gallery
Image Picker and aver plugin for Flutter #
Android supported #
IOS #
forked from official plugin: https://github.com/flutter/plugins/tree/master/packages/image_picker
Save image Example #
void _onImageSaveButtonPressed() async {
http.get(
'https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png')
.then((response) {
debugPrint(response.statusCode.toString());
ImagePicker.saveFile(fileName: "123.jpg", fileData: response.bodyBytes)
.then((filePath) {
debugPrint(filePath);
var saveFile = File.fromUri(Uri.file(filePath));
setState(() {
_imageFile = Future<File>.sync(() => saveFile);
});
});
});
}
Image Picker plugin for Flutter #
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!
Installation #
First, add image_picker
as a dependency in your pubspec.yaml file.
iOS #
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.NSMicrophoneUsageDescription
- describe why your app needs access to the microphone, if you intend to record videos. This is called Privacy - Microphone Usage Description in the visual editor.
Android #
No configuration required - the plugin should work out of the box.
Example #
import 'package:image_picker/image_picker.dart';
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
File _image;
Future getImage() async {
var image = await ImagePicker.pickImage(source: ImageSource.camera);
setState(() {
_image = image;
});
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Image Picker Example'),
),
body: new Center(
child: _image == null
? new Text('No image selected.')
: new Image.file(_image),
),
floatingActionButton: new FloatingActionButton(
onPressed: getImage,
tooltip: 'Pick Image',
child: new Icon(Icons.add_a_photo),
),
);
}
}