ক্লাউড স্টোরেজ রেফারেন্সে একটি ফাইল আপলোড করার পর, আপনি ফাইলের মেটাডেটাও পেতে এবং আপডেট করতে পারেন, যেমন কন্টেন্ট টাইপ দেখা বা আপডেট করার জন্য। ফাইলগুলিতে অতিরিক্ত মেটাডেটা সহ কাস্টম কী/ভ্যালু পেয়ারও সংরক্ষণ করা যায়।
ফাইল মেটাডেটা পান
ফাইল মেটাডেটাতে name , size , এবং contentType (যা প্রায়শই MIME type নামে পরিচিত)-এর মতো সাধারণ প্রোপার্টিগুলোর পাশাপাশি 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);
ত্রুটিগুলি পরিচালনা করুন
মেটাডেটা সংগ্রহ বা আপডেট করার সময় বিভিন্ন কারণে ত্রুটি ঘটতে পারে, যার মধ্যে রয়েছে ফাইলটির অস্তিত্ব না থাকা, অথবা কাঙ্ক্ষিত ফাইলটি অ্যাক্সেস করার জন্য ব্যবহারকারীর অনুমতি না থাকা। ত্রুটি সম্পর্কে আরও তথ্য ডক্সের ' Handle Errors' বিভাগে পাওয়া যাবে।
কাস্টম মেটাডেটা
আপনি 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> | হ্যাঁ |
ফাইল আপলোড, ডাউনলোড এবং আপডেট করা যেমন গুরুত্বপূর্ণ, তেমনি সেগুলো মুছে ফেলার ক্ষমতাও জরুরি। চলুন জেনে নিই ক্লাউড স্টোরেজ থেকে কীভাবে ফাইল ডিলিট করতে হয়।