Итак, для каждого изображения у меня есть свой путь (в виде строки). И я конвертирую эту строку пути в файл. Затем я сохраняю этот файл в хранилище Firebase, но моя проблема в том, что файл слишком велик, когда я запрашиваю. Поэтому мне нужно сжать его перед загрузкой в хранилище Firebase. Я искал вокруг, но так и не нашел четкого решения о том, как это сделать. Пожалуйста, если кто-нибудь может помочь мне с очень четким и простым решением, это было бы здорово. Ниже мой код.
for(String path : images)
{
try {
InputStream stream = new FileInputStream(new File(path));
UploadTask uploadTask = imageStorage.putStream(stream);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
Log.d("myStorage","failure :(");
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
UrI downloadUrl = taskSnapshot.getDownloadUrl();
Log.d("myStorage","success!");
}
});
} catch (FileNotFoundException e) {
e.printStackTrace();
}
countDB++;
}