خطاهای مربوط به 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 | فایل روی کلاینت با اندازه فایل دریافت شده توسط سرور مطابقت ندارد. دوباره آپلود کنید. |
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی."],[],[],null,["\u003cbr /\u003e\n\nSometimes when you're building an app, things don't go as planned and an\nerror occurs!\n\nWhen in doubt, catch the exception thrown by the function\nand see what the error message has to say. \n\n final storageRef = FirebaseStorage.instance.ref().child(\"files/uid\");\n try {\n final listResult = await storageRef.listAll();\n } on FirebaseException catch (e) {\n // Caught an exception from Firebase.\n print(\"Failed with error '${e.code}': ${e.message}\");\n }\n\n| **Note:** By default, a Cloud Storage for Firebase bucket requires Firebase Authentication to perform any action on the bucket's data or files. You can change your Firebase Security Rules for Cloud Storage to [allow unauthenticated access for specific situations](/docs/storage/security/rules-conditions#public). However, for most situations, we strongly recommend [restricting access and setting up robust security rules](/docs/storage/security/get-started) (especially for production apps). Note that if you use Google App Engine and have a default Cloud Storage bucket with a name format of `*.appspot.com`, you may need to consider [how your security rules impact access to App Engine files](/docs/storage/gcp-integration#security-rules-and-app-engine-files).\n\nHandle Error Messages\n\nThere are a number of reasons why errors may occur, including the file\nnot existing, the user not having permission to access the desired file, or the\nuser cancelling the file upload.\n\nTo properly diagnose the issue and handle the error, here is a full list of\nall the errors our client will raise, and how they occurred.\n\n| Code | Description |\n|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `storage/unknown` | An unknown error occurred. |\n| `storage/object-not-found` | No object exists at the desired reference. |\n| `storage/bucket-not-found` | No bucket is configured for Cloud Storage |\n| `storage/project-not-found` | No project is configured for Cloud Storage |\n| `storage/quota-exceeded` | Quota on your Cloud Storage bucket has been exceeded. If you're on the Spark pricing plan, consider upgrading to the [pay-as-you-go Blaze pricing plan](/pricing). If you're already on the Blaze pricing plan, reach out to Firebase Support. **Important** : Starting October 1, 2025, the [Blaze pricing plan will be *required* to use Cloud Storage](/docs/storage/faqs-storage-changes-announced-sept-2024), even default buckets. |\n| `storage/unauthenticated` | User is unauthenticated, please authenticate and try again. |\n| `storage/unauthorized` | User is not authorized to perform the desired action, check your security rules to ensure they are correct. |\n| `storage/retry-limit-exceeded` | The maximum time limit on an operation (upload, download, delete, etc.) has been excceded. Try uploading again. |\n| `storage/invalid-checksum` | File on the client does not match the checksum of the file received by the server. Try uploading again. |\n| `storage/canceled` | User canceled the operation. |\n| `storage/invalid-event-name` | Invalid event name provided. Must be one of \\[`running`, `progress`, `pause`\\] |\n| `storage/invalid-url` | Invalid URL provided to `refFromURL()`. Must be of the form: `gs://bucket/object` or `https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=\u003cTOKEN\u003e` |\n| `storage/invalid-argument` | The argument passed to `put()` must be `File`, `Blob`, or `UInt8` Array. The argument passed to `putString()` must be a raw, `Base64`, or `Base64URL` string. |\n| `storage/no-default-bucket` | No bucket has been set in your config's `storageBucket` property. |\n| `storage/cannot-slice-blob` | Commonly occurs when the local file has changed (deleted, saved again, etc.). Try uploading again after verifying that the file hasn't changed. |\n| `storage/server-file-wrong-size` | File on the client does not match the size of the file received by the server. Try uploading again. |"]]