
Gal🖼️
Easy to use Dart3 plugin for handle photos app

✨Features
- Open gallery
- Save video
- Save image
- Handle pemission
- Handle errors
- Lots of docs and wiki
🚀Get started
Add dependency
You can use the command to add gal as a dependency with the latest stable version:
$ flutter pub add gal
iOS
Add the following key to your Info.plist file, located in
<project root>/ios/Runner/Info.plist
:
<key>NSPhotoLibraryAddUsageDescription</key>
– you can copy from Info.plist in example.
Android (API <29)
Add the following key to your AndroidManifest file, located in
<project root>/android/app/src/main/AndroidManifest.xml
:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
– you can copy from AndroidManifest.xml in example.
✅Usage
Save from local
//Save Image
await Gal.putImage('$filePath');
//Save Video
await Gal.putVideo('$filePath');
Download from Internet
$ flutter pub add dio
//Download Image
final imagePath = '${Directory.systemTemp.path}/image.jpg';
await Dio().download('$url',imagePath);
await Gal.putImage(imagePath);
//Download Video
final videoPath = '${Directory.systemTemp.path}/video.mp4';
await Dio().download('$url',videoPath);
await Gal.putVideo(videoPath);
Handle Permission
//Check Permission
await Gal.hasAccess();
//Request Access
await Gal.requestAccess();
🎯Example
Here is a minimal example. A best practice and more detailed one and can be found in the example folder.
📪FAQ
-
What is the best practice?
Please see Best Practice in project wiki.
-
I have a question.
Please see the Wiki first. If that didn’t solve the problem.
You should go to the Discussion.
Once you are sure there are no duplicates, please ask them through Q&A.
💚Contributing
Welcome! Feel free to create issue or PR.
We kindly suggest considering to read this vary short guide.