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