خطاهای مربوط به Cloud Storage در Flutter را مدیریت کنید

گاهی اوقات وقتی در حال ساخت یک اپلیکیشن هستید، همه چیز طبق برنامه پیش نمی‌رود و خطایی رخ می‌دهد!

وقتی شک دارید، استثنای ایجاد شده توسط تابع را دریافت کنید و ببینید پیام خطا چه می‌گوید.

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 تماس بگیرید.

مهم : از تاریخ ۲ فوریه ۲۰۲۶ ، طرح قیمت‌گذاری Blaze ملزم به استفاده از Cloud Storage ، حتی باکت‌های پیش‌فرض، خواهد بود .
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 فایل روی کلاینت با اندازه فایل دریافتی توسط سرور مطابقت ندارد. دوباره آپلود کنید.