จัดการข้อผิดพลาดสำหรับ 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` Array อาร์กิวเมนต์ที่ส่งไปยัง putString() ต้องเป็นสตริงดิบ `Base64` หรือ `Base64URL`
storage/no-default-bucket ไม่มีการตั้งค่าที่เก็บข้อมูลในคุณสมบัติ storageBucket ของการกำหนดค่าของคุณ
storage/cannot-slice-blob มักเกิดขึ้นเมื่อไฟล์ในเครื่องมีการเปลี่ยนแปลง (ถูกลบ บันทึกอีกครั้ง ฯลฯ) ลองอัปโหลดอีกครั้งหลังจากตรวจสอบแล้วว่าไฟล์ไม่มีการเปลี่ยนแปลง
storage/server-file-wrong-size ไฟล์บนไคลเอ็นต์ไม่ตรงกับขนาดของไฟล์ที่เซิร์ฟเวอร์ได้รับ ลองอัปโหลดอีกครั้ง