จัดการข้อผิดพลาดสำหรับ 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 อาร์กิวเมนต์ที่ส่งไปยัง putString() ต้องเป็นสตริงดิบ Base64 หรือ Base64URL |
storage/no-default-bucket |
ไม่ได้ตั้งค่าที่เก็บข้อมูลในพร็อพเพอร์ตี้ storageBucket ของการกำหนดค่า |
storage/cannot-slice-blob |
มักเกิดขึ้นเมื่อไฟล์ในเครื่องมีการเปลี่ยนแปลง (ลบ บันทึกอีกครั้ง ฯลฯ) ลองอัปโหลดอีกครั้งหลังจากยืนยันว่าไฟล์ไม่มีการเปลี่ยนแปลง |
storage/server-file-wrong-size |
ไฟล์ในไคลเอ็นต์มีขนาดไม่ตรงกับขนาดของไฟล์ที่เซิร์ฟเวอร์ได้รับ โปรดลองอัปโหลดอีกครั้ง |
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-25 UTC
[null,null,["อัปเดตล่าสุด 2025-07-25 UTC"],[],[],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. |"]]