บางครั้งสิ่งต่างๆ ไม่เป็นไปตามที่วางแผนไว้และเกิดข้อผิดพลาดขึ้น
หากมีข้อสงสัย ให้ตรวจสอบข้อผิดพลาดที่แสดงและดูว่าข้อความแสดงข้อผิดพลาดบอกอะไร
โค้ดต่อไปนี้แสดงการใช้งานตัวแฮนเดิลข้อผิดพลาดที่กําหนดเองซึ่งตรวจสอบรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ Cloud Storage แสดง คุณสามารถเพิ่มตัวแฮนเดิลข้อผิดพลาดดังกล่าวลงในออบเจ็กต์ต่างๆ ที่ใช้ใน Cloud Storage API (เช่น UploadTask
และ FileDownloadTask
)
Kotlin+KTX
internal inner class MyFailureListener : OnFailureListener { override fun onFailure(exception: Exception) { val errorCode = (exception as StorageException).errorCode val errorMessage = exception.message // test the errorCode and errorMessage, and handle accordingly } }
Java
class MyFailureListener implements OnFailureListener { @Override public void onFailure(@NonNull Exception exception) { int errorCode = ((StorageException) exception).getErrorCode(); String errorMessage = exception.getMessage(); // test the errorCode and errorMessage, and handle accordingly } }
หากคุณตรวจสอบข้อความแสดงข้อผิดพลาดและมี Cloud Storage Security Rules ที่อนุญาตให้ แต่ยังพยายามแก้ไขข้อผิดพลาดอยู่ โปรดไปที่ หน้าการสนับสนุนและแจ้งให้เราทราบว่าเราจะช่วยเหลือได้อย่างไร
จัดการข้อความแสดงข้อผิดพลาด
ข้อผิดพลาดอาจเกิดขึ้นได้จากหลายสาเหตุ เช่น ไฟล์ไม่อยู่ ผู้ใช้ไม่มีสิทธิ์เข้าถึงไฟล์ที่ต้องการ หรือผู้ใช้ยกเลิกการอัปโหลดไฟล์
เพื่อที่จะวินิจฉัยปัญหาและจัดการข้อผิดพลาดอย่างเหมาะสม โปรดดูรายการข้อมูลทั้งหมดต่อไปนี้
ข้อผิดพลาดที่ลูกค้าของเราเห็น และวิธีที่จะเกิดขี้น รหัสข้อผิดพลาดใน
ตารางได้รับการกำหนดในคลาส StorageException
เป็นค่าคงที่จำนวนเต็ม
รหัส | เหตุผล |
---|---|
ERROR_UNKNOWN |
เกิดข้อผิดพลาดที่ไม่รู้จัก |
ERROR_OBJECT_NOT_FOUND |
ไม่มีออบเจ็กต์อยู่ที่ข้อมูลอ้างอิงที่ต้องการ |
ERROR_BUCKET_NOT_FOUND |
ไม่มีการกำหนดค่าที่เก็บข้อมูลสำหรับ Cloud Storage |
ERROR_PROJECT_NOT_FOUND |
ไม่มีการกำหนดค่าโปรเจ็กต์สำหรับ Cloud Storage |
ERROR_QUOTA_EXCEEDED |
คุณใช้งานเกินโควต้าในที่เก็บข้อมูล Cloud Storage แล้ว หากคุณใช้ระดับที่ไม่มีค่าใช้จ่าย ให้อัปเกรดเป็นแพ็กเกจแบบชำระเงิน หากคุณใช้แพ็กเกจแบบชำระเงิน โปรดติดต่อทีมสนับสนุนของ Firebase |
ERROR_NOT_AUTHENTICATED |
ผู้ใช้ไม่ผ่านการตรวจสอบสิทธิ์ โปรดตรวจสอบสิทธิ์และลองอีกครั้ง |
ERROR_NOT_AUTHORIZED |
ผู้ใช้ไม่ได้รับอนุญาตให้ดำเนินการที่ต้องการ โปรดตรวจสอบกฎของคุณเพื่อให้แน่ใจว่าถูกต้อง |
ERROR_RETRY_LIMIT_EXCEEDED |
การดำเนินการ (การอัปโหลด การดาวน์โหลด การลบ ฯลฯ) ใช้เวลาเกินขีดจำกัดสูงสุด โปรดลองอีกครั้ง |
ERROR_INVALID_CHECKSUM |
ไฟล์ในไคลเอ็นต์ไม่ตรงกับการตรวจสอบผลรวมของไฟล์ที่เซิร์ฟเวอร์ได้รับ โปรดลองอัปโหลดอีกครั้ง |
ERROR_CANCELED |
ผู้ใช้ยกเลิกการดำเนินการ |
นอกจากนี้ ระบบพยายามโทรหา getReferenceFromUrl()
ด้วย URL ที่ไม่ถูกต้อง
จะทำให้ไม่มีการโยนIllegalArgumentException
อาร์กิวเมนต์ของ
วิธีการข้างต้นต้องอยู่ในรูปแบบ gs://bucket/object
หรือ
https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>