【发布时间】:2020-07-24 14:09:32
【问题描述】:
我在使用 Android 中的 Firebase 时遇到了一个奇怪的问题。我正在尝试将照片上传到 Firebase 存储,但出现以下错误:
E/UncaughtException: java.lang.IllegalArgumentException: The supplied bucketname is not available to this project.
在这行代码处:
StorageReference mStorageRef = mFirebaseStorage.getReferenceFromUrl("gs://mooseandroid-a9f96.appspot.com");
我确定存储桶名称与控制台中的名称相同。我什至尝试使用在 iOS 中使用 Swift 运行良好的存储桶名称。我还将规则更改为公开,以便任何人都可以读取和写入此存储桶。实时数据库适用于该项目。我现在没有选择,甚至不知道我还能尝试什么。
这是整个代码:
FirebaseStorage mFirebaseStorage = FirebaseStorage.getInstance();
StorageReference mStorageRef = mFirebaseStorage.getReferenceFromUrl("gs://mooseandroid-a9f96.appspot.com");
final StorageReference photoRef = mStorageRef.child("posts_images/mooseImg" + getCurrentDateTime() + ".jpg");
UploadTask uploadTask = photoRef.putBytes(data);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
});
这是整个错误:
E/UncaughtException: java.lang.IllegalArgumentException: The supplied bucketname is not available to this project.
at com.google.android.gms.common.internal.zzaa.zzb(Unknown Source)
at com.google.firebase.storage.FirebaseStorage.zzz(Unknown Source)
at com.google.firebase.storage.FirebaseStorage.getReferenceFromUrl(Unknown Source)
at com.moose.android.AddPostActivity.onClick(AddPostActivity.java:163)
at android.view.View.performClick(View.java:5702)
at android.widget.TextView.performClick(TextView.java:10888)
at android.view.View$PerformClick.run(View.java:22541)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
【问题讨论】:
-
使用
StorageReference mStorageReference =FirebaseDatabase.getInstance().getReference().child("posts_images/mooseImg").child("put your image name here");存储文件只需写mStorageReference.putBytes(data);
标签: android firebase firebase-storage