จัดการข้อผิดพลาดสำหรับ Cloud Storage บนเว็บ

บางครั้งเมื่อคุณสร้างแอป สิ่งต่างๆ ไม่เป็นไปตามที่วางแผนไว้ มีข้อผิดพลาดเกิดขึ้น!

หากไม่แน่ใจ ให้ตรวจสอบตัวแฮนเดิลข้อผิดพลาด (หรือฟังก์ชัน catch() สําหรับ Promises) และดูว่าข้อความแสดงข้อผิดพลาดนั้นบอกอะไร

หากคุณตรวจสอบข้อความแสดงข้อผิดพลาดแล้วและมี Cloud Storage Security Rules ที่อนุญาตให้ดำเนินการ แต่ยังคงแก้ไขปัญหาข้อผิดพลาดไม่ได้ โปรดไปที่หน้าการสนับสนุนและแจ้งให้เราทราบว่าเราจะช่วยคุณได้อย่างไร

จัดการข้อความแสดงข้อผิดพลาด

ข้อผิดพลาดเกิดขึ้นได้จากหลายสาเหตุ เช่น ไฟล์ ผู้ใช้ไม่มีสิทธิ์เข้าถึงไฟล์ที่ต้องการ หรือ ผู้ใช้ยกเลิกการอัปโหลดไฟล์

เพื่อวินิจฉัยปัญหาและจัดการข้อผิดพลาดอย่างเหมาะสม ต่อไปนี้คือรายการข้อผิดพลาดทั้งหมด ข้อผิดพลาดทั้งหมดที่ลูกค้าของเราเห็น และวิธีการที่เกิดขึ้น

รหัส เหตุผล
storage/unknown เกิดข้อผิดพลาดที่ไม่รู้จัก
storage/object-not-found ไม่มีออบเจ็กต์อยู่ที่ข้อมูลอ้างอิงที่ต้องการ
storage/bucket-not-found ไม่มีการกำหนดค่าที่เก็บข้อมูลสำหรับ Cloud Storage
storage/project-not-found ไม่มีการกำหนดค่าโปรเจ็กต์สำหรับ Cloud Storage
storage/quota-exceeded เกินโควต้าสำหรับที่เก็บข้อมูล Cloud Storage ของคุณแล้ว หากคุณใช้ระดับที่ไม่มีค่าใช้จ่าย ให้อัปเกรดเป็นแพ็กเกจแบบชำระเงิน หากคุณใช้แพ็กเกจแบบชำระเงิน โปรดติดต่อทีมสนับสนุนของ Firebase
storage/unauthenticated ผู้ใช้ไม่ผ่านการตรวจสอบสิทธิ์ โปรดตรวจสอบสิทธิ์และลองอีกครั้ง
storage/unauthorized ผู้ใช้ไม่ได้รับอนุญาตให้ดำเนินการที่ต้องการ โปรดตรวจสอบ กฎความปลอดภัยเพื่อให้มั่นใจว่าถูกต้อง
storage/retry-limit-exceeded ขีดจำกัดเวลาสูงสุดในการดำเนินการ (อัปโหลด ดาวน์โหลด ลบ ฯลฯ) ได้รับการยกเว้น โปรดลองอัปโหลดอีกครั้ง
storage/invalid-checksum ไฟล์ในไคลเอ็นต์ไม่ตรงกับ 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=&ltTOKEN>
storage/invalid-argument อาร์กิวเมนต์ที่ส่งไปยัง put() ต้องเป็น "ไฟล์" "Blob" หรือ อาร์เรย์ "UInt8" อาร์กิวเมนต์ที่ส่งไปยัง putString() ต้องเป็น สตริงข้อมูลดิบ, "Base64" หรือ "Base64URL"
storage/no-default-bucket ไม่มีการตั้งค่าที่เก็บข้อมูลในการกำหนดค่า พร็อพเพอร์ตี้ storageBucket
storage/cannot-slice-blob มักเกิดขึ้นเมื่อไฟล์ในเครื่องมีการเปลี่ยนแปลง (ลบ บันทึกอีกครั้ง เป็นต้น) โปรดลองอัปโหลดอีกครั้งหลังจากยืนยันว่าไฟล์ไม่ มีการเปลี่ยนแปลง
storage/server-file-wrong-size ไฟล์ในไคลเอ็นต์ไม่ตรงกับขนาดของไฟล์ที่ เซิร์ฟเวอร์ โปรดลองอัปโหลดอีกครั้ง