Cloud Storage रेफ़रंस में कोई फ़ाइल अपलोड करने के बाद, फ़ाइल का मेटाडेटा भी पाया या अपडेट किया जा सकता है. उदाहरण के लिए, कॉन्टेंट का टाइप अपडेट किया जा सकता है. फ़ाइलों में, फ़ाइल के अतिरिक्त मेटाडेटा के साथ-साथ, कस्टम की/वैल्यू पेयर भी सेव किए जा सकते हैं.
फ़ाइल का मेटाडेटा पाना
फ़ाइल के मेटाडेटा में, name, size, और contentType (इसे अक्सर एमआईएमई टाइप कहा जाता है) जैसी सामान्य प्रॉपर्टी के अलावा, contentDisposition और timeCreated जैसी कुछ कम सामान्य प्रॉपर्टी भी शामिल होती हैं. `getMetadata()` तरीके का इस्तेमाल करके, `Cloud Storage` रेफ़रंस से यह मेटाडेटा वापस पाया जा सकता है. getMetadata() एक Promise दिखाता है, जिसमें पूरा मेटाडेटा होता है. अगर Promise अस्वीकार कर दिया जाता है, तो गड़बड़ी दिखती है.
Web
import { getStorage, ref, getMetadata } from "firebase/storage"; // Create a reference to the file whose metadata we want to retrieve const storage = getStorage(); const forestRef = ref(storage, 'images/forest.jpg'); // Get metadata properties getMetadata(forestRef) .then((metadata) => { // Metadata now contains the metadata for 'images/forest.jpg' }) .catch((error) => { // Uh-oh, an error occurred! });
Web
// Create a reference to the file whose metadata we want to retrieve var forestRef = storageRef.child('images/forest.jpg'); // Get metadata properties forestRef.getMetadata() .then((metadata) => { // Metadata now contains the metadata for 'images/forest.jpg' }) .catch((error) => { // Uh-oh, an error occurred! });
फ़ाइल का मेटाडेटा अपडेट करना
updateMetadata() तरीके का इस्तेमाल करके, फ़ाइल अपलोड होने के बाद किसी भी समय, फ़ाइल का मेटाडेटा अपडेट किया जा सकता है. किन प्रॉपर्टी को अपडेट किया जा सकता है, इस बारे में ज़्यादा जानने के लिए,
पूरी सूची देखें. मेटाडेटा में बताई गई सिर्फ़ प्रॉपर्टी अपडेट की जाती हैं. बाकी सभी प्रॉपर्टी में कोई बदलाव नहीं किया जाता. updateMetadata() एक Promise दिखाता है, जिसमें पूरा मेटाडेटा होता है. अगर Promise अस्वीकार कर दिया जाता है, तो गड़बड़ी दिखती है.
Web
import { getStorage, ref, updateMetadata } from "firebase/storage"; // Create a reference to the file whose metadata we want to change const storage = getStorage(); const forestRef = ref(storage, 'images/forest.jpg'); // Create file metadata to update const newMetadata = { cacheControl: 'public,max-age=300', contentType: 'image/jpeg' }; // Update metadata properties updateMetadata(forestRef, newMetadata) .then((metadata) => { // Updated metadata for 'images/forest.jpg' is returned in the Promise }).catch((error) => { // Uh-oh, an error occurred! });
Web
// Create a reference to the file whose metadata we want to change var forestRef = storageRef.child('images/forest.jpg'); // Create file metadata to update var newMetadata = { cacheControl: 'public,max-age=300', contentType: 'image/jpeg' }; // Update metadata properties forestRef.updateMetadata(newMetadata) .then((metadata) => { // Updated metadata for 'images/forest.jpg' is returned in the Promise }).catch((error) => { // Uh-oh, an error occurred! });
किसी मेटाडेटा प्रॉपर्टी को null पर सेट करके, उसे मिटाया जा सकता है:
Web
import { getStorage, ref, updateMetadata } from "firebase/storage"; const storage = getStorage(); const forestRef = ref(storage, 'images/forest.jpg'); // Create file metadata with property to delete const deleteMetadata = { contentType: null }; // Delete the metadata property updateMetadata(forestRef, deleteMetadata) .then((metadata) => { // metadata.contentType should be null }).catch((error) => { // Uh-oh, an error occurred! });
Web
// Create file metadata with property to delete var deleteMetadata = { contentType: null }; // Delete the metadata property forestRef.updateMetadata(deleteMetadata) .then((metadata) => { // metadata.contentType should be null }).catch((error) => { // Uh-oh, an error occurred! });
गड़बड़ियां ठीक करना
मेटाडेटा पाने या अपडेट करने पर, गड़बड़ियां होने की कई वजहें हो सकती हैं. इनमें फ़ाइल का मौजूद न होना या उपयोगकर्ता के पास, चुनी गई फ़ाइल को ऐक्सेस करने की अनुमति न होना शामिल है. गड़बड़ियों के बारे में ज़्यादा जानकारी, दस्तावेज़ों के गड़बड़ियां ठीक करना सेक्शन में देखी जा सकती है.
कस्टम मेटाडेटा
कस्टम मेटाडेटा को, String प्रॉपर्टी वाले ऑब्जेक्ट के तौर पर बताया जा सकता है.
Web
const metadata = { customMetadata: { 'location': 'Yosemite, CA, USA', 'activity': 'Hiking' } };
Web
var metadata = { customMetadata: { 'location': 'Yosemite, CA, USA', 'activity': 'Hiking' } };
हर फ़ाइल के लिए, ऐप्लिकेशन से जुड़ा अतिरिक्त डेटा सेव करने के लिए, कस्टम मेटाडेटा का इस्तेमाल किया जा सकता है. हालांकि, हमारा सुझाव है कि इस तरह का डेटा सेव करने और सिंक करने के लिए, डेटाबेस (जैसे, Firebase Realtime Database) का इस्तेमाल किया जाए.
फ़ाइल के मेटाडेटा की प्रॉपर्टी
किसी फ़ाइल के मेटाडेटा की प्रॉपर्टी की पूरी सूची यहां दी गई है:
| प्रॉपर्टी | टाइप | लिखा जा सकता है |
|---|---|---|
bucket |
स्ट्रिंग | नहीं |
generation |
स्ट्रिंग | नहीं |
metageneration |
स्ट्रिंग | नहीं |
fullPath |
स्ट्रिंग | नहीं |
name |
स्ट्रिंग | नहीं |
size |
नंबर | नहीं |
timeCreated |
स्ट्रिंग | नहीं |
updated |
स्ट्रिंग | नहीं |
md5Hash |
स्ट्रिंग | अपलोड करने पर YES, updateMetadata पर NO |
cacheControl |
स्ट्रिंग | YES |
contentDisposition |
स्ट्रिंग | YES |
contentEncoding |
स्ट्रिंग | YES |
contentLanguage |
स्ट्रिंग | YES |
contentType |
स्ट्रिंग | YES |
customMetadata |
स्ट्रिंग->स्ट्रिंग मैपिंग वाला ऑब्जेक्ट | YES |
फ़ाइलें अपलोड, डाउनलोड, और अपडेट करना ज़रूरी है. साथ ही, उन्हें हटाने की सुविधा भी ज़रूरी है. आइए, फ़ाइलें मिटाने का तरीका जानें Cloud Storage.