Cloud Storage के रेफ़रंस में कोई फ़ाइल अपलोड करने के बाद, फ़ाइल का मेटाडेटा भी देखा और अपडेट किया जा सकता है. उदाहरण के लिए, कॉन्टेंट टाइप देखने या अपडेट करने के लिए. Files में, पसंद के मुताबिक बनाए गए कुंजी/वैल्यू पेयर को भी फ़ाइल के अतिरिक्त मेटाडेटा के साथ सेव किया जा सकता है.
फ़ाइल का मेटाडेटा पाना
फ़ाइल मेटाडेटा में contentDisposition
और timeCreated
जैसी कुछ सामान्य प्रॉपर्टी के अलावा, name
, size
, और contentType
(जिन्हें अक्सर MIME टाइप कहा जाता है) जैसी सामान्य प्रॉपर्टी भी शामिल होती हैं. इस मेटाडेटा को getMetadata()
तरीके का इस्तेमाल करके, Cloud Storage के रेफ़रंस से वापस पाया जा सकता है.
// 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
कस्टम मेटाडेटा में, हर फ़ाइल के लिए ऐप्लिकेशन से जुड़ा डेटा सेव किया जा सकता है. हालांकि, हमारा सुझाव है कि इस तरह के डेटा को सेव और सिंक करने के लिए, किसी डेटाबेस (जैसे, Firebase रीयल टाइम डेटाबेस) का इस्तेमाल करें.
फ़ाइल मेटाडेटा प्रॉपर्टी
फ़ाइल में मौजूद मेटाडेटा प्रॉपर्टी की पूरी सूची यहां दी गई है:
प्रॉपर्टी | टाइप | क्या इसे सेट किया जा सकता है? |
---|---|---|
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> |
हां |
फ़ाइलों को अपलोड करना, डाउनलोड करना, और अपडेट करना ज़रूरी है. हालांकि, उन्हें हटाना भी उतना ही ज़रूरी है. आइए, Cloud Storage से फ़ाइलें मिटाने का तरीका जानें.