خطاهای مربوط به 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 هیچ سطلی برای Cloud Storage پیکربندی نشده است
storage/project-not-found هیچ پروژه ای برای Cloud Storage پیکربندی نشده است
storage/quota-exceeded از سهمیه سطل Cloud Storage شما فراتر رفته است. اگر از طرح قیمت‌گذاری Spark استفاده می‌کنید، به طرح قیمت‌گذاری Blaze به‌صورت رایگان ارتقا دهید. اگر قبلاً در طرح قیمت گذاری Blaze هستید، با پشتیبانی Firebase تماس بگیرید.

مهم : از 1 اکتبر 2025 ، برنامه قیمت گذاری 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 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 فایل روی کلاینت با اندازه فایل دریافت شده توسط سرور مطابقت ندارد. دوباره آپلود کنید.