ফ্লটারে ক্লাউড স্টোরেজ সহ ফাইল মেটাডেটা ব্যবহার করুন

ক্লাউড স্টোরেজ রেফারেন্সে একটি ফাইল আপলোড করার পরে, আপনি ফাইল মেটাডেটা পেতে এবং আপডেট করতে পারেন, উদাহরণস্বরূপ কন্টেন্টের ধরণ দেখতে বা আপডেট করতে। ফাইলগুলি অতিরিক্ত ফাইল মেটাডেটা সহ কাস্টম কী/মান জোড়াও সংরক্ষণ করতে পারে।

ফাইল মেটাডেটা পান

ফাইল মেটাডেটাতে name , size এবং contentType (প্রায়শই MIME টাইপ হিসাবে উল্লেখ করা হয়) এর মতো সাধারণ বৈশিষ্ট্য রয়েছে, contentDisposition এবং timeCreated মতো কিছু কম সাধারণ বৈশিষ্ট্য ছাড়াও। getMetadata() পদ্ধতি ব্যবহার করে ক্লাউড স্টোরেজ রেফারেন্স থেকে এই মেটাডেটা পুনরুদ্ধার করা যেতে পারে।

// Create reference to the file whose metadata we want to retrieve
final forestRef = storageRef.child("images/forest.jpg");

// Get metadata properties
final metadata = await forestRef.getMetadata();

// Metadata now contains the metadata for 'images/forest.jpg'

ফাইল মেটাডেটা আপডেট করুন

ফাইল আপলোড সম্পন্ন হওয়ার পর আপনি updateMetadata() পদ্ধতি ব্যবহার করে যেকোনো সময় ফাইল মেটাডেটা আপডেট করতে পারেন। কোন কোন বৈশিষ্ট্য আপডেট করা যেতে পারে সে সম্পর্কে আরও তথ্যের জন্য সম্পূর্ণ তালিকাটি দেখুন। শুধুমাত্র মেটাডেটাতে উল্লেখিত বৈশিষ্ট্যগুলি আপডেট করা হয়, বাকিগুলি অপরিবর্তিত থাকে।

// Create reference to the file whose metadata we want to change
final forestRef = storageRef.child("images/forest.jpg");

// Create file metadata to update
final newMetadata = SettableMetadata(
  cacheControl: "public,max-age=300",
  contentType: "image/jpeg",
);

// Update metadata properties
final metadata = await forestRef.updateMetadata(newMetadata);

// Updated metadata for 'images/forest.jpg' is returned

আপনি null পাস করে লেখার যোগ্য মেটাডেটা বৈশিষ্ট্য মুছে ফেলতে পারেন:

// Delete the cacheControl property
final newMetadata = SettableMetadata(cacheControl: null);
final metadata = await forestRef.updateMetadata(newMetadata);

হ্যান্ডেল ত্রুটি

মেটাডেটা পাওয়া বা আপডেট করার সময় ত্রুটি ঘটতে পারে এমন অনেক কারণ থাকতে পারে, যার মধ্যে রয়েছে ফাইলটি বিদ্যমান না থাকা, অথবা ব্যবহারকারীর পছন্দসই ফাইলটি অ্যাক্সেস করার অনুমতি না থাকা। ত্রুটি সম্পর্কে আরও তথ্য ডক্সের "হ্যান্ডেল এররস" বিভাগে পাওয়া যাবে।

কাস্টম মেটাডেটা

আপনি SettableMetadata কনস্ট্রাক্টরের customMetadata প্যারামিটার ব্যবহার করে কাস্টম মেটাডেটা নির্দিষ্ট করতে পারেন:

// Create reference to the file whose metadata we want to change
final forestRef = storageRef.child("images/forest.jpg");

// Create file metadata to update
final newCustomMetadata = SettableMetadata(
  customMetadata: {
    "location": "Yosemite, CA, USA",
    "activity": "Hiking",
  },
);

// Update metadata properties
final metadata = await forestRef.updateMetadata(newCustomMetadata);

// Updated metadata for 'images/forest.jpg' is returned

আপনি প্রতিটি ফাইলের জন্য অ্যাপ-নির্দিষ্ট ডেটা কাস্টম মেটাডেটাতে সংরক্ষণ করতে পারেন, তবে আমরা এই ধরণের ডেটা সংরক্ষণ এবং সিঙ্ক্রোনাইজ করার জন্য একটি ডাটাবেস (যেমন ফায়ারবেস রিয়েলটাইম ডেটাবেস ) ব্যবহার করার পরামর্শ দিচ্ছি।

ফাইল মেটাডেটা বৈশিষ্ট্য

একটি ফাইলের মেটাডেটা বৈশিষ্ট্যের সম্পূর্ণ তালিকা নীচে পাওয়া যাবে:

সম্পত্তি আদর্শ বসতি স্থাপনযোগ্য?
bucket String না
generation String না
metageneration String না
metadataGeneration String না
fullPath String না
name String না
size int না
timeCreated DateTime না
updated DateTime না
md5Hash String না
cacheControl String হাঁ
contentDisposition String হাঁ
contentEncoding String হাঁ
contentLanguage String হাঁ
contentType String হাঁ
customMetadata Map<String, String> হাঁ

ফাইল আপলোড, ডাউনলোড এবং আপডেট করা গুরুত্বপূর্ণ, তবে সেগুলি সরাতে সক্ষম হওয়াও গুরুত্বপূর্ণ। আসুন জেনে নেওয়া যাক ক্লাউড স্টোরেজ থেকে ফাইলগুলি কীভাবে মুছবেন