Cloud Storage রেফারেন্সে একটি ফাইল আপলোড করার পরে, আপনি ফাইল মেটাডেটা পেতে এবং আপডেট করতে পারেন, উদাহরণস্বরূপ কন্টেন্ট টাইপ আপডেট করতে। ফাইলগুলি অতিরিক্ত ফাইল মেটাডেটা সহ কাস্টম কী/মান জোড়াও সংরক্ষণ করতে পারে।
ফাইল মেটাডেটা পান
ফাইল মেটাডেটাতে name , size এবং contentType (প্রায়শই MIME টাইপ হিসাবে উল্লেখ করা হয়) এর মতো সাধারণ বৈশিষ্ট্য রয়েছে, contentDisposition এবং timeCreated মতো কিছু কম সাধারণ বৈশিষ্ট্য ছাড়াও। এই মেটাডেটা metadataWithCompletion: পদ্ধতি ব্যবহার করে Cloud Storage রেফারেন্স থেকে পুনরুদ্ধার করা যেতে পারে।
সুইফট
// Create reference to the file whose metadata we want to retrieve let forestRef = storageRef.child("images/forest.jpg") // Get metadata properties do { let metadata = try await forestRef.getMetadata() } catch { // ... }
অবজেক্টিভ-সি
// Create reference to the file whose metadata we want to retrieve FIRStorageReference *forestRef = [storageRef child:@"images/forest.jpg"]; // Get metadata properties [forestRef metadataWithCompletion:^(FIRStorageMetadata *metadata, NSError *error) { if (error != nil) { // Uh-oh, an error occurred! } else { // Metadata now contains the metadata for 'images/forest.jpg' } }];
ফাইল মেটাডেটা আপডেট করুন
ফাইল আপলোড সম্পন্ন হওয়ার পর আপনি যেকোনো সময় updateMetadata:withCompletion: পদ্ধতি ব্যবহার করে ফাইল মেটাডেটা আপডেট করতে পারেন। কোন বৈশিষ্ট্যগুলি আপডেট করা যেতে পারে সে সম্পর্কে আরও তথ্যের জন্য সম্পূর্ণ তালিকাটি দেখুন। শুধুমাত্র মেটাডেটাতে উল্লেখিত বৈশিষ্ট্যগুলি আপডেট করা হয়, বাকিগুলি অপরিবর্তিত থাকে।
সুইফট
// Create reference to the file whose metadata we want to change let forestRef = storageRef.child("images/forest.jpg") // Create file metadata to update let newMetadata = StorageMetadata() newMetadata.cacheControl = "public,max-age=300" newMetadata.contentType = "image/jpeg" // Update metadata properties do { let updatedMetadata = try await forestRef.updateMetadata(newMetadata) } catch { // ... }
অবজেক্টিভ-সি
// Create reference to the file whose metadata we want to change FIRStorageReference *forestRef = [storageRef child:@"images/forest.jpg"]; // Create file metadata to update FIRStorageMetadata *newMetadata = [[FIRStorageMetadata alloc] init]; newMetadata.cacheControl = @"public,max-age=300"; newMetadata.contentType = @"image/jpeg"; // Update metadata properties [forestRef updateMetadata:newMetadata completion:^(FIRStorageMetadata *metadata, NSError *error){ if (error != nil) { // Uh-oh, an error occurred! } else { // Updated metadata for 'images/forest.jpg' is returned } }];
আপনি লেখার যোগ্য মেটাডেটা বৈশিষ্ট্যগুলিকে nil এ সেট করে মুছে ফেলতে পারেন:
অবজেক্টিভ-সি
FIRStorageMetadata *newMetadata = [[FIRStorageMetadata alloc] init]; newMetadata.contentType = nil; // Delete the metadata property [forestRef updateMetadata:newMetadata completion:^(FIRStorageMetadata *metadata, NSError *error){ if (error != nil) { // Uh-oh, an error occurred! } else { // metadata.contentType should be nil } }];
সুইফট
let newMetadata = StorageMetadata() newMetadata.contentType = nil do { // Delete the metadata property let updatedMetadata = try await forestRef.updateMetadata(newMetadata) } catch { // ... }
হ্যান্ডেল ত্রুটি
মেটাডেটা পাওয়া বা আপডেট করার সময় ত্রুটি ঘটতে পারে এমন অনেক কারণ থাকতে পারে, যার মধ্যে রয়েছে ফাইলটি বিদ্যমান না থাকা, অথবা ব্যবহারকারীর পছন্দসই ফাইলটি অ্যাক্সেস করার অনুমতি না থাকা। ত্রুটি সম্পর্কে আরও তথ্য ডক্সের "হ্যান্ডেল এররস" বিভাগে পাওয়া যাবে।
কাস্টম মেটাডেটা
আপনি NSString বৈশিষ্ট্য ধারণকারী একটি NSDictionary হিসেবে কাস্টম মেটাডেটা নির্দিষ্ট করতে পারেন।
সুইফট
let metadata = [ "customMetadata": [ "location": "Yosemite, CA, USA", "activity": "Hiking" ] ]
অবজেক্টিভ-সি
NSDictionary *metadata = @{ @"customMetadata": @{ @"location": @"Yosemite, CA, USA", @"activity": @"Hiking" } };
আপনি প্রতিটি ফাইলের জন্য অ্যাপ-নির্দিষ্ট ডেটা কাস্টম মেটাডেটাতে সংরক্ষণ করতে পারেন, তবে আমরা এই ধরণের ডেটা সংরক্ষণ এবং সিঙ্ক্রোনাইজ করার জন্য একটি ডাটাবেস (যেমন Firebase Realtime Database ) ব্যবহার করার পরামর্শ দিচ্ছি।
ফাইল মেটাডেটা বৈশিষ্ট্য
একটি ফাইলের মেটাডেটা বৈশিষ্ট্যের সম্পূর্ণ তালিকা নীচে পাওয়া যাবে:
| সম্পত্তি | আদর্শ | লেখার যোগ্য |
|---|---|---|
bucket | স্ট্রিং | না |
generation | স্ট্রিং | না |
metageneration | স্ট্রিং | না |
fullPath | স্ট্রিং | না |
name | স্ট্রিং | না |
size | Int64 সম্পর্কে | না |
timeCreated | তারিখ | না |
updated | তারিখ | না |
md5Hash | স্ট্রিং | হাঁ |
cacheControl | স্ট্রিং | হাঁ |
contentDisposition | স্ট্রিং | হাঁ |
contentEncoding | স্ট্রিং | হাঁ |
contentLanguage | স্ট্রিং | হাঁ |
contentType | স্ট্রিং | হাঁ |
customMetadata | [স্ট্রিং: স্ট্রিং] | হাঁ |
ফাইল আপলোড, ডাউনলোড এবং আপডেট করা গুরুত্বপূর্ণ, তবে সেগুলি সরাতে সক্ষম হওয়াও গুরুত্বপূর্ণ। আসুন জেনে নেওয়া যাক Cloud Storage থেকে ফাইলগুলি কীভাবে মুছবেন ।