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服务的版本以及所有必需的权限。
答案 0 :(得分:0)
检查您是否在清单和运行时为应用程序提供了 READ_EXTERNAL_STORAGE 权限。
读取存储是危险许可。对于应用程序中的Dangerous Permsssions应具有运行时限制
在Android 6.0(API级别23)中,用户在应用程序运行时向应用程序授予权限,而不是在安装应用程序时。
系统权限分为两类,normal and dangerous:
正常权限不会直接影响用户的隐私。如果您的应用在其清单中列出了正常权限,系统会自动授予权限。
危险权限可让应用访问用户的机密数据。如果您的应用在其清单中列出了正常权限,系统会自动授予权限。如果您列出了危险权限,则用户必须明确批准您的应用。
Requesting Run Time Permissions in Android
检查是否是问题。转到设置 - &gt;应用程序 - &gt;您的申请 - &gt;权限 - &gt;允许存储权限。*
添加运行时权限