Đôi khi, khi bạn đang xây dựng một ứng dụng, mọi thứ không diễn ra theo kế hoạch và lỗi sẽ xảy ra!
Khi không chắc chắn, hãy nắm bắt ngoại lệ do hàm này đưa ra và xem thông báo lỗi.
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}");
}
Xử lý thông báo lỗi
Có một số lý do khiến lỗi có thể xảy ra, bao gồm cả việc tệp không tồn tại, người dùng không có quyền truy cập vào tệp mong muốn hoặc người dùng huỷ tải tệp lên.
Để chẩn đoán đúng vấn đề và xử lý lỗi, sau đây là danh sách đầy đủ tất cả các lỗi mà ứng dụng khách của chúng tôi sẽ đưa ra và cách các lỗi đó xảy ra.
| Mã | Mô tả |
|---|---|
storage/unknown |
Đã xảy ra lỗi không xác định. |
storage/object-not-found |
Không có đối tượng nào tồn tại ở tham chiếu mong muốn. |
storage/bucket-not-found |
Không có nhóm lưu trữ nào được định cấu hình cho Cloud Storage |
storage/project-not-found |
Không có dự án nào được định cấu hình cho Cloud Storage |
storage/quota-exceeded |
Bạn đã vượt quá hạn mức trên nhóm lưu trữ. Cloud Storage for Firebase yêu cầu Gói giá linh hoạt (trả tiền theo mức dùng). Nếu bạn gặp lỗi này trên một dự án thuộc Gói giá Spark, bạn phải nâng cấp lên Gói giá linh hoạt để lấy lại quyền truy cập. Để biết thông tin chi tiết, hãy xem phần Câu hỏi thường gặp. |
storage/unauthenticated |
Người dùng chưa được xác thực, vui lòng xác thực và thử lại. |
storage/unauthorized |
Người dùng không được phép thực hiện hành động mong muốn, hãy kiểm tra các quy tắc bảo mật để đảm bảo các quy tắc đó chính xác. |
storage/retry-limit-exceeded |
Bạn đã vượt quá thời gian tối đa cho một thao tác (tải lên, tải xuống, xoá, v.v.). Hãy thử tải lên lại. |
storage/invalid-checksum |
Tệp trên ứng dụng khách không khớp với tổng kiểm tra của tệp mà máy chủ nhận được. Hãy thử tải lên lại. |
storage/canceled |
Người dùng đã huỷ thao tác. |
storage/invalid-event-name |
Tên sự kiện không hợp lệ. Phải là một trong các tên sau: [running, progress, pause] |
storage/invalid-url |
URL không hợp lệ được cung cấp cho refFromURL(). Phải có dạng: gs://bucket/object hoặc https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> |
storage/invalid-argument |
Đối số được truyền đến put() phải là File, Blob hoặc Mảng UInt8. Đối số được truyền đến putString() phải là chuỗi Base64, Base64URL hoặc chuỗi thô. |
storage/no-default-bucket |
Không có nhóm lưu trữ nào được đặt trong thuộc tính storageBucket của cấu hình. |
storage/cannot-slice-blob |
Thường xảy ra khi tệp cục bộ đã thay đổi (đã xoá, lưu lại, v.v.). Hãy thử tải lên lại sau khi xác minh rằng tệp không thay đổi. |
storage/server-file-wrong-size |
Tệp trên ứng dụng khách không khớp với kích thước của tệp mà máy chủ nhận được. Hãy thử tải lên lại. |