گاهی اوقات وقتی در حال ساخت یک اپلیکیشن هستید، همه چیز طبق برنامه پیش نمیرود و خطایی رخ میدهد!
وقتی شک دارید، استثنای ایجاد شده توسط تابع را دریافت کنید و ببینید پیام خطا چه میگوید.
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 | هیچ باکتی برای فضای ذخیرهسازی ابری پیکربندی نشده است |
storage/project-not-found | هیچ پروژهای برای ذخیرهسازی ابری پیکربندی نشده است |
storage/quota-exceeded | سهمیهی سطل شما تکمیل شده است. Cloud Storage for Firebase نیاز به طرح قیمتگذاری Blaze با پرداخت به ازای استفاده دارد . اگر این خطا را در یک پروژه طرح قیمتگذاری Spark دریافت میکنید، باید برای دسترسی مجدد به طرح قیمتگذاری Blaze ارتقا دهید. برای جزئیات بیشتر، به سوالات متداول ما مراجعه کنید. |
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 Array باشد. آرگومان ارسالی به putString() باید یک رشته خام، Base64 یا Base64URL باشد. |
storage/no-default-bucket | هیچ سطلی در ویژگی storageBucket پیکربندی شما تنظیم نشده است. |
storage/cannot-slice-blob | معمولاً زمانی رخ میدهد که فایل محلی تغییر کرده باشد (حذف شده، دوباره ذخیره شده و غیره). پس از تأیید عدم تغییر فایل، دوباره آپلود را امتحان کنید. |
storage/server-file-wrong-size | فایل روی کلاینت با اندازه فایل دریافتی توسط سرور مطابقت ندارد. دوباره آپلود کنید. |