Firebase 存储在尝试上传图像时给出 StorageException

Pra*_*ima 6 google-app-engine firebase firebase-storage

我一直在尝试将图像上传到新的 firebase 存储服务。它正在抛出 StorageException

E/StorageException: 发生了 StorageException。发生未知错误,请检查服务器响应的 HTTP 结果代码和内部异常。代码:-13000 HttpResult:400

E/StorageException:服务器已终止上传会话 java.io.IOException:服务器已终止 com.google.firebase.storage.UploadTask.zzVi(Unknown Source) at com.google.firebase.storage.UploadTask 的上传会话.zzVh(Unknown Source) at com.google.firebase.storage.UploadTask.run(Unknown Source) at com.google.firebase.storage.StorageTask$5.run(Unknown Source) at java。util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818)

Val*_*Val 9

在 Firebase 控制台中,转到左侧的存储选项卡。单击规则选项卡并将规则设置为公开。使用以下代码将其设置为公开。

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这对于测试目的很有用,但是,您应该使用身份验证用户来保护数据库连接。


bas*_*i82 6

这让我明白了,没有一行代码更改;),我所需要做的就是更新 firebase-storage 库。就我而言,它是'com.google.firebase:firebase-storage:16.4.0',更新后'com.google.firebase:firebase-storage:17.0.0'一切又开始正常工作。


Siv*_*Siv 5

在 google firebase 中,这种类型的StorageException通常是由于错误的StorageReference引用引起的 。

FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://<your-bucket-name>");

// Create a reference to "file"
StorageReference mountainsRef = storageRef.child("file.jpg");
Run Code Online (Sandbox Code Playgroud)

确保对文件的引用正确无误。


文档参考

可以在此处找到有关创建存储引用的详细信息

可以在此处找到有关存储异常代码的详细信息以获取更多参考


小智 1

我今天遇到了同样的问题。