【发布时间】:2020-08-08 16:49:59
【问题描述】:
所以我使用以下代码 sn-p 将文件上传到 Firebase 存储:
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference parentReference = storage.getReference();
Uri file = Uri.fromFile(new File(PATH));
StorageReference childReference = parentReference.child("kas_data");
UploadTask uploadTask = childReference.putFile(file);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
//
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
//
}
});
上传成功。检查 firebase 控制台,我看到文件已成功上传。现在我想用下面的代码sn-p下载它:
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference parentReference = storage.getReference();
StorageReference childReference = parentReference.child("kas_data");
File localFile = new File(PATH);
childReference.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
//
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
//
}
});
但我收到以下错误消息:
com.google.firebase.storage.StorageException: User does not have permission to access this object.
当我在 Firebase 存储规则部分使用此规则时:
rules_version = '2';
service firebase.storage {
match /{allPaths=**} {
allow read, write;
}
}
我该如何解决这个问题?
【问题讨论】: