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