कभी-कभी ऐप्लिकेशन बनाते समय, चीज़ें प्लान के मुताबिक नहीं होतीं और कोई गड़बड़ी हो जाती है!
अगर आपको कोई संदेह है, तो फ़ंक्शन से मिले अपवाद को पकड़ें और देखें कि गड़बड़ी के मैसेज में क्या लिखा है.
final storageRef = FirebaseStorage.instance.ref().child("files/uid");
try {
final listResult = await storageRef.listAll();
} on FirebaseException catch (e) {
// Caught an exception from Firebase.
print("Failed with error '${e.code}': ${e.message}");
}
गड़बड़ी के मैसेज मैनेज करना
गड़बड़ियां होने की कई वजहें हो सकती हैं. जैसे, फ़ाइल का मौजूद न होना, उपयोगकर्ता के पास फ़ाइल को ऐक्सेस करने की अनुमति न होना या उपयोगकर्ता का फ़ाइल अपलोड करने की प्रोसेस को रद्द करना.
समस्या का सही तरीके से विश्लेषण करने और गड़बड़ी को ठीक करने के लिए, यहां उन सभी गड़बड़ियों की पूरी सूची दी गई है जो हमारे क्लाइंट को मिलेंगी. साथ ही, यह भी बताया गया है कि ये गड़बड़ियां कैसे हुईं.
| Code | ब्यौरा |
|---|---|
storage/unknown |
कोई ऐसी गड़बड़ी हुई जिसकी जानकारी नहीं है. |
storage/object-not-found |
चुने गए रेफ़रंस पर कोई ऑब्जेक्ट मौजूद नहीं है. |
storage/bucket-not-found |
Cloud Storage के लिए कोई बकेट कॉन्फ़िगर नहीं की गई है |
storage/project-not-found |
Cloud Storage के लिए कोई प्रोजेक्ट कॉन्फ़िगर नहीं किया गया है |
storage/quota-exceeded |
आपकी बकेट का कोटा खत्म हो गया है. Cloud Storage for Firebase के लिए, इस्तेमाल के हिसाब से पैसे चुकाने की सुविधा वाला ब्लेज़ प्लान ज़रूरी है. अगर आपको स्पार्क प्लान वाले किसी प्रोजेक्ट पर यह गड़बड़ी दिख रही है, तो ऐक्सेस वापस पाने के लिए आपको ब्लेज़ प्लान पर अपग्रेड करना होगा. ज़्यादा जानकारी के लिए, अक्सर पूछे जाने वाले सवाल देखें. |
storage/unauthenticated |
उपयोगकर्ता की पुष्टि नहीं हुई है. कृपया पुष्टि करें और फिर से कोशिश करें. |
storage/unauthorized |
उपयोगकर्ता के पास यह कार्रवाई करने की अनुमति नहीं है. सुरक्षा से जुड़े नियमों की जांच करके पक्का करें कि वे सही हों. |
storage/retry-limit-exceeded |
किसी कार्रवाई (अपलोड, डाउनलोड, मिटाना वगैरह) के लिए तय की गई समयसीमा खत्म हो गई है. फिर से अपलोड करें. |
storage/invalid-checksum |
क्लाइंट पर मौजूद फ़ाइल, सर्वर को मिली फ़ाइल के चेकसम से मेल नहीं खाती. फिर से अपलोड करें. |
storage/canceled |
उपयोगकर्ता ने कार्रवाई को रद्द कर दिया है. |
storage/invalid-event-name |
इवेंट का नाम अमान्य है. इनमें से कोई एक होना चाहिए: [running, progress, pause] |
storage/invalid-url |
refFromURL() के लिए अमान्य यूआरएल दिया गया है. इस फ़ॉर्मैट में होना चाहिए: gs://bucket/object या https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> |
storage/invalid-argument |
put() को पास किया गया आर्ग्युमेंट, File, Blob या UInt8 अरे होना चाहिए. putString() को पास किया गया आर्ग्युमेंट, रॉ, Base64 या Base64URL स्ट्रिंग होना चाहिए. |
storage/no-default-bucket |
आपके कॉन्फ़िगरेशन की storageBucket प्रॉपर्टी में कोई बकेट सेट नहीं की गई है. |
storage/cannot-slice-blob |
आम तौर पर, ऐसा तब होता है, जब लोकल फ़ाइल में बदलाव किया गया हो. जैसे, उसे मिटाया गया हो, फिर से सेव किया गया हो वगैरह. यह पुष्टि करने के बाद कि फ़ाइल में कोई बदलाव नहीं हुआ है, उसे फिर से अपलोड करने की कोशिश करें. |
storage/server-file-wrong-size |
क्लाइंट पर मौजूद फ़ाइल का साइज़, सर्वर को मिली फ़ाइल के साइज़ से मेल नहीं खाता. फिर से अपलोड करें. |