Android 安卓Firebase上传图像
我尝试使用以下代码将图像上载到Firebase存储:Android 安卓Firebase上传图像,android,firebase,firebase-storage,Android,Firebase,Firebase Storage,我尝试使用以下代码将图像上载到Firebase存储: FirebaseStorage firebaseStorage = FirebaseStorage.getInstance(); final StorageReference storageRef = firebaseStorage.getReferenceFromUrl("gs://xxx"); Uri file = Uri.fromFile(new File(url)); mStorageRef = st
FirebaseStorage firebaseStorage = FirebaseStorage.getInstance();
final StorageReference storageRef = firebaseStorage.getReferenceFromUrl("gs://xxx");
Uri file = Uri.fromFile(new File(url));
mStorageRef = storageRef.child("images/"+file.getLastPathSegment());
UploadTask uploadTask = storageRef.putFile(file);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
Log.i(TAG, exception.toString());
}
}).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.
Uri downloadUrl = taskSnapshot.getDownloadUrl();
}
});
FirebaseStorage FirebaseStorage=FirebaseStorage.getInstance();
final-StorageReference-storageRef=firebaseStorage.getReferenceFromUrl(“gs://xxx”);
urifile=Uri.fromFile(新文件(url));
mStorageRef=storageRef.child(“images/”+file.getLastPathSegment());
UploadTask UploadTask=storageRef.putFile(文件);
uploadTask.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
//处理不成功的上传
Log.i(标记,exception.toString());
}
}).addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
//taskSnapshot.getMetadata()包含文件元数据,如大小、内容类型和下载URL。
Uri downloadUrl=taskSnapshot.getDownloadUrl();
}
});
但是,我遇到以下错误:
E/StorageException:发生了StorageException。
发生未知错误,请检查HTTP结果代码和服务器响应的内部异常。
代码:-13000 HttpResult:400
E/StorageException:服务器已终止上载会话
java.io.IOException:服务器已终止上载会话
位于com.google.firebase.storage.UploadTask.zzabc(未知来源)
位于com.google.firebase.storage.UploadTask.zzabb(未知来源)
位于com.google.firebase.storage.UploadTask.run(未知源)
位于com.google.firebase.storage.StorageTask$8.run(未知来源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
运行(Thread.java:818)
我发现有些人建议更新我手机上的谷歌游戏服务。我的手机已经有了最新版本。我还尝试启用匿名登录并公开规则
还有其他建议吗?我真是个白痴
应该
UploadTask UploadTask=mStorageRef.putFile(文件);
而不是
UploadTask UploadTask=storageRef.putFile(文件);
我真是个白痴
应该
UploadTask UploadTask=mStorageRef.putFile(文件);
而不是
UploadTask UploadTask=storageRef.putFile(文件);
很高兴听到你找到了它。顺便说一句:我通常以文件夹/文件的名称命名我的文件夹引用(例如picturesReference
或imageReference
),以减少发生这种情况的可能性。很高兴听到你找到了它。顺便说一句:我通常以文件夹/文件的名称命名我的文件夹引用(例如picturesReference
或imageReference
),以减少发生这种情况的可能性。