当我尝试在不存在的位置上传文件时,Firebase
给出-13000 StorageException。
示例:
root/abc/cba/pqr/test_file.txt
但是root/test_file.txt and root/abc/test_file.txt both work fine
final File file = new File("local/file_path.txt");
StorageReference remoteLocation = FirebaseStorage.getInstance().getReference();
StorageReference currentFileRef = remoteLocation.child("abc/cba/pqr/test_file.txt");
StorageTask task = currentFileRef.putFile(Uri.fromFile(file))
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
String log = "File " + file.getName() + " uploaded successfully !";
uploadLog(log);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
String log = "File " + file.getName() + " upload Error : "+exception.getClass().getSimpleName()+" " + exception.getCause()+" "+exception.getLocalizedMessage()+" " +exception.getMessage();
if (exception instanceof StorageException){
log+= " "+((StorageException)exception).getErrorCode();
log+= " "+((StorageException)exception).getHttpResultCode();
}
uploadLog(log);
Log.d(TAG,log);
}
});
我已更新了Google Play服务的版本以及所有必需的权限。
检查您是否在清单和运行时为应用程序提供了READ_EXTERNAL_STORAGE权限。
读取存储是危险的许可。对于危险的Permsssions应用程序应该有运行时的permmsions
从Android 6.0(API级别23)开始,用户在应用程序运行时向应用程序授予权限,而不是在安装应用程序时。
系统权限分为两类,normal and dangerous:
Requesting Run Time Permissions in Android
检查是否是问题。转到设置 - >应用程序 - >您的应用程序 - >权限 - >允许存储权限。*
添加运行时权限