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

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

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

หากคุณได้ตรวจสอบข้อความแสดงข้อผิดพลาดแล้วและมีกฎความปลอดภัยของพื้นที่เก็บข้อมูลบนคลาวด์ที่อนุญาตให้คุณดำเนินการได้ แต่ยังคงประสบปัญหาในการแก้ไขข้อผิดพลาด โปรดไป ที่หน้าการสนับสนุน ของเรา และแจ้งให้เราทราบว่าเราจะช่วยได้อย่างไร

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

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

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

รหัส เหตุผล
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 ไฟล์บนไคลเอนต์ไม่ตรงกับการตรวจสอบรวมของไฟล์ที่เซิร์ฟเวอร์ได้รับ ลองอัปโหลดอีกครั้ง
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 ไฟล์บนไคลเอนต์ไม่ตรงกับขนาดของไฟล์ที่เซิร์ฟเวอร์ได้รับ ลองอัปโหลดอีกครั้ง