पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv2.3.2

gallery_saver

नेटवर्क या अस्थायी फ़ाइल से छवियों और वीडियो को बाहरी स्टोरेज में सहेजता है। छवियाँ और वीडियो एंड्रॉइड गैलरी और आईओएस फ़ोटोज़ में दिखाई देंगे।

AndroidiOS
30-दिन डाउनलोड
3.7 हज़ार
लाइक
489
Pub अंक
130

पैकेज इंस्टॉल करें

flutter pub add gallery_saver

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

Gallery Saver एक Flutter पैकेज है जो नेटवर्क URL या अस्थायी फ़ाइलों से छवियों और वीडियो को डिवाइस के बाहरी स्टोरेज में सहेजने की अनुमति देता है। सहेजे गए मीडिया को Android पर नेटिव गैलरी और iOS पर Photos ऐप में देखा जा सकता है। यह सिस्टम-लेवल फ़ोटो लाइब्रेरी के साथ संगतता सुनिश्चित करते हुए, स्थानीय रूप से मल्टीमीडिया कंटेंट को स्थायी रूप से सहेजने की प्रक्रिया को सरल बनाता है। उपयोगकर्ता को साझा या डाउनलोड किए गए कंटेंट को उनके डिवाइस के मीडिया संग्रह में सीधे सहेजने की अनुमति देने वाले ऐप्स के लिए आदर्श है।

उपयोग

  • URL से डाउनलोड की गई छवियों को सहेजें
  • उपयोगकर्ता-उत्पन्न मीडिया को बनाए रखना
  • उपकरण गैलरी में सामग्री साझा करना
  • चित्र/वीडियो दर्शकों के साथ एकीकरण
  • मीडिया को ऑफलाइन पहुंच के लिए सक्षम करें
  • सोशल मीडिया शेयरिंग का समर्थन करना

मुख्य विशेषताएँ

  • चित्र और वीडियो दोनों को बचाता है
  • Android और iOS पर काम करता है
  • नेटिव गैलरी/फोटो में दिखाई देता है
  • नेटवर्क और अस्थायी फ़ाइल स्रोत का समर्थन करता है
  • मीडिया सहेजने के लिए सरल API
  • मीडिया मेटाडेटा बनाए रखता है

इनके लिए उपयुक्त

  • मीडिया साझाकरण ऐप्स
  • फोटो व्यूअर एप्लिकेशन
  • कंटेंट डाउनलोडर्स
  • सोशल मीडिया एकीकरण
  • ऑफलाइन मीडिया एक्सेस की आवश्यकता वाले ऐप्स
  • उपयोगकर्ता-उत्पादित सामग्री प्लेटफॉर्म

विचार योग्य बातें

  • Android पर उचित अनुमतियाँ आवश्यक हैं
  • रनटाइम अनुमति के अनुरोध की आवश्यकता हो सकती है
  • फ़ाइल आकार सीमा डिवाइस स्टोरेज पर निर्भर करती है
  • iOS को Info.plist में उचित गोपनीयता विवरण की आवश्यकता होती है
  • बड़े पैमाने पर मीडिया प्रसंस्करण के लिए उपयुक्त नहीं
  • एल्बम संगठन पर सीमित नियंत्रण

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

Gallery Saver for Flutter

Saves images and videos from network or temporary file to external storage. Both images and videos will be visible in Android Gallery and iOS Photos.

NOTE: If you want to save network image or video link, it has to contain 'http/https' prefix.

Installation

First, add gallery_saver 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.
Android
  • android.permission.WRITE_EXTERNAL_STORAGE - Permission for usage of external storage
Example
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:gallery_saver/gallery_saver.dart';
import 'package:image_picker/image_picker.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String firstButtonText = 'Take photo';
  String secondButtonText = 'Record video';
  double textSize = 20;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      body: Container(
        color: Colors.white,
        child: Column(
          children: <Widget>[
            Flexible(
              flex: 1,
              child: Container(
                child: SizedBox.expand(
                  child: RaisedButton(
                    color: Colors.blue,
                    onPressed: _takePhoto,
                    child: Text(firstButtonText,
                        style:
                            TextStyle(fontSize: textSize, color: Colors.white)),
                  ),
                ),
              ),
            ),
            Flexible(
              child: Container(
                  child: SizedBox.expand(
                child: RaisedButton(
                  color: Colors.white,
                  onPressed: _recordVideo,
                  child: Text(secondButtonText,
                      style: TextStyle(
                          fontSize: textSize, color: Colors.blueGrey)),
                ),
              )),
              flex: 1,
            )
          ],
        ),
      ),
    ));
  }

  void _takePhoto() async {
    ImagePicker.pickImage(source: ImageSource.camera)
        .then((File recordedImage) {
      if (recordedImage != null && recordedImage.path != null) {
        setState(() {
          firstButtonText = 'saving in progress...';
        });
        GallerySaver.saveImage(recordedImage.path).then((String path) {
          setState(() {
            firstButtonText = 'image saved!';
          });
        });
      }
    });
  }

  void _recordVideo() async {
    ImagePicker.pickVideo(source: ImageSource.camera)
        .then((File recordedVideo) {
      if (recordedVideo != null && recordedVideo.path != null) {
        setState(() {
          secondButtonText = 'saving in progress...';
        });
        GallerySaver.saveVideo(recordedVideo.path).then((String path) {
          setState(() {
            secondButtonText = 'video saved!';
          });
        });
      }
    });
  }
  void _saveNetworkVideo() async {
    String path =
        'https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4';
    GallerySaver.saveVideo(path).then((bool success) {
      setState(() {
        print('Video is saved');
      });
    });
  }

  void _saveNetworkImage() async {
    String path =
        'https://image.shutterstock.com/image-photo/montreal-canada-july-11-2019-600w-1450023539.jpg';
    GallerySaver.saveImage(path).then((bool success) {
      setState(() {
        print('Image is saved');
      });
    });
  }
}

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 3 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट