Когда я пытаюсь сохранить файл в хранилище Firebase, он всегда сохраняет его с именем 'null'. Это мой код:
try {
localFile = createTempImageFile(getExternalCacheDir());
final File finalLocalFile = localFile;
mStorageRef.child("images/" + mRereference).getFile(localFile)
.addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
Picasso.with(getBaseContext())
.load(Uri.fromFile(finalLocalFile))
.into(mIVpicture1);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i("Load","" + e);
}
});
} catch (IOException e) {
e.printStackTrace();
}
Это метод createTempImageFile, который не работает:
public static File createTempImageFile(File storageDir) throws
IOException
{
String timeStamp = new SimpleDateFormat("dd-MM-yyyy hh-mm-ss",
Locale.getDefault()).format(new Date());
String imageFileName = "photo_" + timeStamp;
return File.createTempFile(
imageFileName,
".jpg",
storageDir
);
}
Это код для загрузки изображения в хранилище Firebase
public void uploadFileInFireBaseStorage (Uri uri){
UploadTask uploadTask = mStorageRef.child("images/" + mRereference).putFile(uri);
uploadTask.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0 * taskSnapshot.getBytesTransferred());
Log.i("Load","Upload is " + progress + "% done");
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Task<Uri> urlTask = taskSnapshot.getStorage().getDownloadUrl();
while (!urlTask.isSuccessful());
Uri downloadUrl = urlTask.getResult();
final String download_url = String.valueOf(downloadUrl);
Log.i("Load" , "Uri donwnload" + download_url);
}
});
}