Cloud Storage रेफ़रंस में फ़ाइल अपलोड करने के बाद, आपको यह भी मिल सकता है और फ़ाइल मेटाडेटा को अपडेट करें, जैसे कि कॉन्टेंट टाइप को अपडेट करने के लिए. फ़ाइल अतिरिक्त फ़ाइल मेटाडेटा के साथ पसंद के मुताबिक कुंजी/वैल्यू पेयर को भी सेव कर सकता है.
फ़ाइल मेटाडेटा पाएं
फ़ाइल के मेटाडेटा में सामान्य प्रॉपर्टी मौजूद हैं. जैसे, Name
, SizeBytes
, और
ContentType
(इन्हें अक्सर MIME टाइप कहा जाता है)
ContentDisposition
और CreationTimeMillis
जैसे कम सामान्य पासवर्ड. इस मेटाडेटा को GetMetadataAsync
तरीके का इस्तेमाल करके, Cloud Storage रेफ़रंस से वापस पाया जा सकता है.
// 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
हर फ़ाइल के लिए, ऐप्लिकेशन से जुड़े डेटा को कस्टम मेटाडेटा में सेव किया जा सकता है. हालांकि, हम काफ़ी हद तक अपने डेटाबेस का इस्तेमाल करने की सलाह देते हैं (जैसे कि Firebase Realtime Database) का इस्तेमाल, इस तरह के डेटा को सेव और सिंक करने के लिए किया जाता है डेटा शामिल है.
फ़ाइल मेटाडेटा की प्रॉपर्टी
किसी फ़ाइल में मौजूद मेटाडेटा प्रॉपर्टी की पूरी सूची यहां दी गई है:
प्रॉपर्टी | टाइप | MetadataChange में बदलाव किया जा सकता है |
---|---|---|
Bucket |
string |
नहीं |
Generation |
string |
नहीं |
MetadataGeneration |
string |
नहीं |
Path |
string |
नहीं |
Name |
string |
नहीं |
SizeBytes |
long |
नहीं |
CreationTimeMillis |
long |
नहीं |
UpdatedTimeMillis |
long |
नहीं |
CacheControl |
string |
YES |
ContentDisposition |
string |
YES |
ContentEncoding |
string |
YES |
ContentLanguage |
string |
YES |
ContentType |
string |
YES |
DownloadUrl |
Uri |
नहीं |
DownloadUrls |
IList<Uri> |
नहीं |
CustomMetadataKeys |
IEnumerable<string> |
YES |
अगले चरण
फ़ाइलों को अपलोड करना, डाउनलोड करना, और अपडेट करना ज़रूरी है. हालांकि, उन्हें हटाना भी उतना ही ज़रूरी है. आइए, जानते हैं कि फ़ाइलें मिटाना Cloud Storage से शुरू.