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

पैकेज विवरणv0.23.1

cloudinary_public

इस पैकेज का उपयोग करके आप अपने apiKey या secretKey के बिना सीधे मीडिया फ़ाइल्स को Cloudinary में अपलोड कर सकते हैं।

AndroidiOSmacOSWindowsLinux
30-दिन डाउनलोड
3.8 हज़ार
लाइक
128
Pub अंक
150

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

flutter pub add cloudinary_public

पैकेज अवलोकन

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

cloudinary_public पैकेज फ्लटर ऐप्स से क्लाउडिनरी में मीडिया के सीधे अपलोड की अनुमति देता है, जिससे संवेदनशील API कीज़ को खुलासा करने की आवश्यकता नहीं होती है। यह अनसाइन्ड अपलोड प्रीसेट्स का उपयोग करके सुरक्षित रूप से प्रमाणीकरण का प्रबंधन करता है, जिससे क्लाइंट्स को सीधे फ़ाइलें अपलोड करने की अनुमति मिलती है जबकि सर्वर-साइड सुरक्षा बनी रहती है। यह उपयोगकर्ता-उत्पादित सामग्री की आवश्यकता वाले एप्लिकेशन के लिए आदर्श है, जैसे फोटो शेयरिंग या प्रोफ़ाइल छवि अपलोड। यह पैकेज एंड्रॉइड, आईओएस, मैकओएस, विंडोज और लिनक्स सहित कई प्लेटफॉर्मों का समर्थन करता है।

उपयोग

  • मोबाइल ऐप्स से सीधे फ़ाइल अपलोड
  • उपयोगकर्ता-उत्पादित सामग्री भंडारण
  • प्रोफ़ाइल छवि अपलोड
  • चित्र और वीडियो प्रबंधन
  • प्रमाणिकता के उजागर किए बिना सुरक्षित मीडिया हैंडलिंग

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

  • API की के अनुचित प्रकटीकरण नहीं
  • अनस्वीकृत अपलोड प्रीसेट समर्थित
  • प्लेटफॉर्म के अनुकूलता
  • Cloudinary के साथ सरल एकीकरण
  • तत्काल अपलोड प्रगति ट्रैकिंग

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

  • मीडिया अपलोड के साथ मोबाइल ऐप्स
  • सुरक्षित फ़ाइल स्थानांतरण की आवश्यकता वाले ऐप्स
  • विकासकर्ता पीछे की प्रमाणीकरण से बचते हैं
  • मीडिया स्टोरेज के लिए Cloudinary का उपयोग करने वाले प्रोजेक्ट
  • फ्रंटएंड केवल मीडिया हैंडलिंग

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

  • Cloudinary अपलोड प्रीसेट सेटअप की आवश्यकता है
  • अस्वीकृत अपलोड के लिए सीमित
  • Cloudinary के मुफ्त स्तर या भुगतान योजना पर निर्भर करता है
  • निजी या प्रतिबंधित मीडिया के लिए उपयुक्त नहीं
  • Cloudinary डैशबोर्ड को सही तरीके से कॉन्फ़िगर करना होगा

मूल README

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

cloudinary_public

Build Status Coverage Status

This package allows you to upload media files directly to cloudinary, without exposing your apiKey or secretKey.

Getting started

Add the dependency cloudinary_public: ^0.23.1 to your project:

import 'package:cloudinary_public/cloudinary_public.dart';

final cloudinary = CloudinaryPublic('CLOUD_NAME', 'UPLOAD_PRESET', cache: false);

Check https://cloudinary.com/documentation/upload_images#unsigned_upload on how to create an upload preset.

Using Image Picker Plugin
var image = await ImagePicker.pickImage(source: ImageSource.camera);

try {
    CloudinaryResponse response = await cloudinary.uploadFile(
        CloudinaryFile.fromFile(image.path, resourceType: CloudinaryResourceType.Image),
    );
    
    print(response.secureUrl);
} on CloudinaryException catch (e) {
  print(e.message);
  print(e.request);
}
Using Multi Image Picker Plugin
final images = await MultiImagePicker.pickImages(maxImages: 4);

List<CloudinaryResponse> uploadedImages = await cloudinary.multiUpload(
images
    .map(
      (image) => CloudinaryFile.fromFutureByteData(
        image.getByteData(),
        identifier: image.identifier,
      ),
    )
    .toList(),
);

print(uploadedImages[0].secureUrl);

Image Transformation

// CloudinaryImage
final cloudinaryImage = CloudinaryImage('https://res.cloudinary.com/demo/image/upload/front_face.png');
// or using the image public id
final cloudinaryImage = cloudinary.getImage('front_face');

final String url = cloudinaryImage.transform().width(150).height(150).gravity('face').crop('thumb').generate();
// or using the shortcut
final String url = cloudinaryImage.thumbnail(width: 150, height: 150).generate();


// Chain example
final url = cloudinaryImage.transform()
    .width(150)
    .height(150)
    .gravity('face')
    .crop('thumb')
    .chain()
    .radius(20)
    .chain()
    .effect('sepia')
    .chain()
    .overlay(cloudinary.getImage('cloudinary_icon'))
    .gravity('south_east')
    .x(5)
    .y(5)
    .width(50)
    .opacity(60)
    .effect('brightness:200')
    .chain()
    .angle(10)
    .generate();
// generates
// https://res.cloudinary.com/demo/image/upload/c_thumb,g_face,h_150,w_150/r_20/e_sepia/e_brightness:200,g_south_east,l_cloudinary_icon,o_60,w_50,x_5,y_5/a_10/front_face.png

Upload Progress

final res = await cloudinary.uploadFile(
  CloudinaryFile.fromFile(
    _pickedFile.path,
    folder: 'hello-folder',
    context: {
      'alt': 'Hello',
      'caption': 'An example image',
    },
  ),
  onProgress: (count, total) {
    setState(() {
      _uploadingPercentage = (count / total) * 100;
    });
  },
);

Upload In Chunks

Use chunked upload when file size is more then 100 Megabytes.

By default, the chunk size is set to 20 Megabytes but can be set to as low as 5 Megabytes by using the chunk_size parameter.

Source: https://cloudinary.com/documentation/upload_images#chunked_asset_upload

final res = await cloudinary.uploadFileInChunks(
  CloudinaryFile.fromFile(
    _pickedFile.path,
    folder: 'hello-folder',
    context: {
      'alt': 'Hello',
      'caption': 'An example upload in chunks',
    },
  ),
  chunkSize: 10000000
  onProgress: (count, total) {
    setState(() {
      _uploadingPercentage = (count / total) * 100;
    });
  },
);

श्रेणियाँ

निर्भरताएँ

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

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

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