گاهی اوقات وقتی در حال ساخت یک اپلیکیشن هستید، همه چیز طبق برنامه پیش نمیرود و خطایی رخ میدهد!
وقتی شک دارید، استثنای ایجاد شده توسط تابع را دریافت کنید و ببینید پیام خطا چه میگوید.
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 شما به پایان رسیده است. اگر از طرح قیمتگذاری Spark استفاده میکنید، ارتقا به طرح قیمتگذاری Pay-as-you-go 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 | آدرس اینترنتی نامعتبری به 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 | فایل روی کلاینت با اندازه فایل دریافتی توسط سرور مطابقت ندارد. دوباره آپلود کنید. |