public ImageResponse UploadImageFromBytes(Context context, List <Android.Net.Uri> uriList, StorageReference storageReference, FirebaseUser user) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.SetTitle("Loading..."); //View view = getLayoutInflater().inflate(R.layout.progress); progressDialog = builder.Create(); try { foreach (var item in uriList) { progressDialog.SetTitle("Loading images " + uriList.IndexOf(item) + "/" + uriList.Count); var imageSaver = ImageLoaderHelper.GetImageSaver(context, item); if (imageSaver != null) { if (imageSaver.Bitmap != null) { try { MemoryStream stream = new MemoryStream(); imageSaver.Bitmap.Compress(Bitmap.CompressFormat.Png, 100, stream); byte[] byteArray = stream.GetBuffer(); //File Path in Firebase Storage var image = storageReference.Child("Images/" + user.Uid + "/" + imageSaver.ImageName); } catch (System.Exception ex) { Log.Debug("ERROR SAVE BITMAP", ex.Message); //Toast.MakeText(this, "Error Uri to Bitmap", ToastLength.Long).Show(); } } } } } catch (System.Exception) { Toast.MakeText(context, "Ups", ToastLength.Long).Show(); } return(null); }
public static ImageSaver GetImageSaver(Context context, Android.Net.Uri uri) { var imageSaver = new ImageSaver(); var bitmap = ImageLoaderHelper.GetLocalBitmap(context, uri); if (bitmap != null) { imageSaver.Bitmap = bitmap; var uriString = uri.ToString(); imageSaver.ImageName = uriString.Substring(uriString.LastIndexOf("/") + 1, uriString.Length); return(imageSaver); } return(null); }