לפעמים, כשאתם מפתחים אפליקציה, הדברים לא מתנהלים כמתוכנן ונוצרת שגיאה.
אם אתם לא בטוחים, תוכלו לתפוס את החריגה שהפונקציה זרקה ולראות מה כתוב בהודעת השגיאה.
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}");
}
טיפול בהודעות שגיאה
יש כמה סיבות לכך שעשויות להתרחש שגיאות, כולל הקובץ לא קיים, למשתמש אין הרשאה לגשת לקובץ הרצוי או שהמשתמש ביטל את העלאת הקובץ.
כדי שנוכל לאבחן את הבעיה בצורה נכונה ולטפל בשגיאה, יש כאן רשימה מלאה של כל השגיאות שהלקוח עשוי להעלות והאופן שבו הן התרחשו.
קוד | תיאור |
---|---|
storage/unknown |
אירעה שגיאה לא ידועה. |
storage/object-not-found |
לא קיים אובייקט בקובץ העזר הרצוי. |
storage/bucket-not-found |
לא הוגדרה קטגוריה ל-Cloud Storage |
storage/project-not-found |
לא מוגדר פרויקט ב-Cloud Storage |
storage/quota-exceeded |
חרגתם מהמכסה של הקטגוריה Cloud Storage. אם השתמשת בתוכנית התמחור והתשלומים של Spark, כדאי לשדרג לתוכנית התמחור של Blaze לתשלום לפי שימוש. אם כבר יש לך תוכנית תמחור ותשלומים של Blaze, עליך לפנות לתמיכה של Firebase. חשוב: החל מ- |
storage/unauthenticated |
המשתמש לא מאומת. עליך לבצע אימות ולנסות שוב. |
storage/unauthorized |
המשתמש לא מורשה לבצע את הפעולה הרצויה. צריך לבדוק את כללי האבטחה כדי לוודא שהם נכונים. |
storage/retry-limit-exceeded |
חרגתם ממגבלת הזמן המקסימלית של פעולה כלשהי (העלאה, הורדה, מחיקה וכו'). כדאי לנסות להעלות שוב. |
storage/invalid-checksum |
הקובץ בלקוח אינו תואם לסיכום הביקורת של הקובץ שהתקבל בשרת. כדאי לנסות להעלות שוב. |
storage/canceled |
המשתמש ביטל את הפעולה. |
storage/invalid-event-name |
שם האירוע שצוין לא תקין. חייב להיות אחד מהערכים הבאים: [running , progress , pause ] |
storage/invalid-url |
כתובת ה-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 |
הקובץ אצל הלקוח לא תואם לגודל הקובץ שהשרת קיבל. כדאי לנסות להעלות שוב. |