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)
在 Firebase 控制台中,转到左侧的存储选项卡。单击规则选项卡并将规则设置为公开。使用以下代码将其设置为公开。
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这对于测试目的很有用,但是,您应该使用身份验证用户来保护数据库连接。
这让我明白了,没有一行代码更改;),我所需要做的就是更新 firebase-storage 库。就我而言,它是'com.google.firebase:firebase-storage:16.4.0',更新后'com.google.firebase:firebase-storage:17.0.0'一切又开始正常工作。
在 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
我今天遇到了同样的问题。
您需要拥有最新的 Google Play 服务。
至少,请在 firebase 控制台中启用匿名身份验证。
匿名身份验证应遵循的步骤。 https://firebase.google.com/docs/auth/android/anonymous-auth#authenticate-with-firebase-anonymously
您还可以在规则(控制台存储选项卡中的 JSON)中设置最低限度/无身份验证(但不建议这样做,因为它不安全)。
| 归档时间: |
|
| 查看次数: |
20641 次 |
| 最近记录: |