В моем приложении у меня есть ImageView, я хочу сохранить изображение, связанное с этим imageView, в Firebase Storage.Вот что я сделал:
imageview.setDrawingCacheEnabled(true);
imageview.buildDrawingCache();
Bitmap bitmap = ((BitmapDrawable) imageview.getDrawable()).getBitmap();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] data = baos.toByteArray();
StorageReference mStorage;
//CURRENT_USER,CCC,CAPITAL,TYPE are strings.
mStorage = FirebaseStorage.getInstance().getReference().child(CCC).child(Case+"/"+CAPITAL+"_"+TYPE.replaceAll(" ","_")+"_front.jpg");
mStorage.putBytes(data).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
//return null;
if (!task.isSuccessful()) {
throw task.getException();
}
return mStorage.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
Log.d("save_document",downloadUri.toString());
} else {
Log.d("save_document","failed to upload image");
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d("save_document","Exception while uploading the image"+e.toString());
}
});
Изображение никогда не загружается в хранилище Firebase, а также никогда не выполняются операторы журнала, где я ошибся?