Я установил правило в хранилище Firebase, чтобы пользователь мог загружать файл не более 20 МБ,
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow write: if request.auth !=null;
allow read: if request.auth !=null
&& request.resource.size < 20 * 1024 * 1024;
}
}
}
Это работает нормально, но проблема в том, что видео отклонено сервером из-за для превышения лимита нет слушателя, чтобы получить это сообщение или ошибку.
Я пробовал следующее безуспешно
UploadTask uploadTask = FirebaseStorage.getInstance().getReference()
.child("VideoText")
.child(VideoIdentifire)
.putFile(SendVideo);
uploadTask.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot) {
long progress = 0;
progress = (long) (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
Toast.makeText(getContext(), "Uploading is " + progress + "% done", Toast.LENGTH_LONG).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getContext(), "Fail" + e.getMessage(), Toast.LENGTH_SHORT).show();
}
})
.addOnCanceledListener(new OnCanceledListener() {
@Override
public void onCanceled() {
Toast.makeText(getContext(), "cancel", Toast.LENGTH_SHORT).show();
}
})
.addOnPausedListener(new OnPausedListener<UploadTask.TaskSnapshot>() {
@Override
public void onPaused(@NonNull UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(getContext(), "paused", Toast.LENGTH_SHORT).show();
}
})
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
}
});
Как мне решить эту проблему?