บางครั้งเมื่อคุณสร้างแอป สิ่งต่างๆ อาจไม่เป็นไปตามแผนและเกิดข้อผิดพลาดขึ้น
หากมีข้อสงสัย ให้ตรวจจับข้อยกเว้นที่ฟังก์ชันแสดงขึ้นมาและดูว่าข้อความแสดงข้อผิดพลาดระบุว่าอะไร
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 for Firebase ต้องใช้แพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ หากคุณได้รับข้อผิดพลาดนี้ในโปรเจ็กต์แพ็กเกจราคา Spark คุณต้องอัปเกรดเป็นแพ็กเกจราคา Blaze เพื่อเข้าถึงอีกครั้ง ดูรายละเอียดได้ที่คำถามที่พบบ่อย |
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 |
ไฟล์ในไคลเอ็นต์มีขนาดไม่ตรงกับไฟล์ที่เซิร์ฟเวอร์ได้รับ โปรดลองอัปโหลดอีกครั้ง |