क्लाउड स्टोरेज संदर्भ में फ़ाइल अपलोड करने के बाद, आप फ़ाइल मेटाडेटा भी प्राप्त कर सकते हैं और अपडेट कर सकते हैं, उदाहरण के लिए सामग्री प्रकार को अपडेट करने के लिए। फ़ाइलें अतिरिक्त फ़ाइल मेटाडेटा के साथ कस्टम कुंजी/मूल्य जोड़े भी संग्रहीत कर सकती हैं।
फ़ाइल मेटाडेटा प्राप्त करें
फ़ाइल मेटाडेटा में कुछ कम सामान्य गुणों जैसे कि कंटेंटडिस्पोजिशन और CreationTimeMillis
के अलावा Name
, SizeBytes
और ContentType
(अक्सर ContentDisposition
प्रकार के रूप में संदर्भित) जैसे सामान्य गुण शामिल होते हैं। इस मेटाडेटा को GetMetadataAsync
विधि का उपयोग करके क्लाउड स्टोरेज संदर्भ से पुनर्प्राप्त किया जा सकता है।
// Create reference to the file whose metadata we want to retrieve StorageReference forestRef = storageRef.Child("images/forest.jpg"); // Get metadata properties forestRef.GetMetadataAsync().ContinueWithOnMainThread(task => { if (!task.IsFaulted && !task.IsCanceled) { StorageMetadata meta = task.Result; // do stuff with meta } });
फ़ाइल मेटाडेटा अद्यतन करें
आप फ़ाइल अपलोड पूरा होने के बाद किसी भी समय UpdateMetadataAsync
विधि का उपयोग करके फ़ाइल मेटाडेटा को अपडेट कर सकते हैं जो MetadataChange
ऑब्जेक्ट लेता है। किन संपत्तियों को अद्यतन किया जा सकता है, इस बारे में अधिक जानकारी के लिए पूरी सूची देखें। केवल मेटाडेटा में निर्दिष्ट गुण अद्यतन किए जाते हैं, अन्य सभी अपरिवर्तित छोड़ दिए जाते हैं।
// Create reference to the file whose metadata we want to change StorageReference forestRef = storageRef.Child("images/forest.jpg"); // Create file metadata to update var newMetadata = new MetadataChange(); newMetadata.CacheControl = "public,max-age=300"; newMetadata.ContentType = "image/jpeg"; // Update metadata properties forestRef.UpdateMetadataAsync(newMetadata).ContinueWithOnMainThread(task => { if (!task.IsFaulted && !task.IsCanceled) { // access the updated meta data StorageMetadata meta = task.Result; } });
आप खाली स्ट्रिंग पास करके लिखने योग्य मेटाडेटा गुणों को हटा सकते हैं:
// Create file metadata to update var newMetadata = new MetadataChange(); newMetadata.ContentType = ""; // Update metadata properties forestRef.UpdateMetadataAsync(newMetadata).ContinueWithOnMainThread(task => { if (!task.IsFaulted && !task.IsCanceled) { StorageMetadata meta = task.Result; // meta.ContentType should be an empty string now } });
त्रुटियाँ संभालें
ऐसे कई कारण हैं जिनकी वजह से मेटाडेटा प्राप्त करने या अपडेट करने में त्रुटियां हो सकती हैं, जिनमें फ़ाइल का मौजूदा न होना, या उपयोगकर्ता के पास वांछित फ़ाइल तक पहुंचने की अनुमति न होना शामिल है। त्रुटियों के बारे में अधिक जानकारी डॉक्स के हैंडल एरर्स अनुभाग में पाई जा सकती है।
कस्टम मेटाडेटा
आप कस्टम मेटाडेटा को एक Dictionary<string, string>
के रूप में निर्दिष्ट कर सकते हैं।
var newMetadata = new MetadataChange { CustomMetadata = new Dictionary<string, string> { {"location", "Yosemite, CA, USA"}, {"activity", "Hiking"} } }; // UpdateMetadataAsync
आप कस्टम मेटाडेटा में प्रत्येक फ़ाइल के लिए ऐप-विशिष्ट डेटा संग्रहीत कर सकते हैं, लेकिन हम इस प्रकार के डेटा को संग्रहीत और सिंक्रनाइज़ करने के लिए डेटाबेस (जैसे फ़ायरबेस रीयलटाइम डेटाबेस ) का उपयोग करने की अत्यधिक अनुशंसा करते हैं।
फ़ाइल मेटाडेटा गुण
किसी फ़ाइल पर मेटाडेटा गुणों की पूरी सूची नीचे उपलब्ध है:
संपत्ति | प्रकार | मेटाडेटाचेंज में संशोधन योग्य |
---|---|---|
Bucket | string | नहीं |
Generation | string | नहीं |
MetadataGeneration | string | नहीं |
Path | string | नहीं |
Name | string | नहीं |
SizeBytes | long | नहीं |
CreationTimeMillis | long | नहीं |
UpdatedTimeMillis | long | नहीं |
CacheControl | string | हाँ |
ContentDisposition | string | हाँ |
ContentEncoding | string | हाँ |
ContentLanguage | string | हाँ |
ContentType | string | हाँ |
DownloadUrl | Uri | नहीं |
DownloadUrls | IList<Uri> | नहीं |
CustomMetadataKeys | IEnumerable<string> | हाँ |
अगले कदम
फ़ाइलें अपलोड करना, डाउनलोड करना और अपडेट करना महत्वपूर्ण है, लेकिन साथ ही उन्हें हटाना भी महत्वपूर्ण है। आइए जानें क्लाउड स्टोरेज से फाइल्स को कैसे डिलीट करें ।