/// <summary> /// saves bitmap in storage according to image name given /// </summary> /// <param name="bitmap">bitmap - the picture</param> /// <param name="imgName">image name to put in storage</param> /// <returns>task th</returns> public Task SaveImage(Bitmap bitmap, string imgName) { StorageReference storageReference = FirebaseStorage.Instance.GetReference(Constants.FS_IMAGES + imgName); Byte[] imgBytes = BitmapFunctions.BitmapToByteArray(bitmap); return(storageReference.PutBytes(imgBytes)); }
private async void ProfileChooserFrag_OnCropComplete(object sender, ProfileChooserFragment.CropCompleteEventArgs e) { try { ShowLoading(); var userId = SessionManager.GetFirebaseAuth().CurrentUser.Uid; StorageReference storageReference = FirebaseStorage.Instance.GetReference("userProfile/" + userId); var stream = new System.IO.MemoryStream(); var bitmap = MediaStore.Images.Media.GetBitmap(ContentResolver, e.imageUri); await bitmap.CompressAsync(Bitmap.CompressFormat.Webp, 70, stream); var imgArray = stream.ToArray(); storageReference.PutBytes(imgArray) .AddOnCompleteListener(new OncompleteListener((t) => { if (!t.IsSuccessful) { throw t.Exception; } Glide.With(this).Load(e.imageUri).Into(profileImageView); DismissLoading(); })); } catch (Exception) { } }
private void SaveImage() { picDisplayFragment.DismissAllowingStateLoss(); var storeRef = FirebaseStorage.Instance.GetReferenceFromUrl("gs://taxiproject-185a4.appspot.com"); if (AppDataHelper.GetCurrentUser() != null) { var stream = new MemoryStream(); bitmap.Compress(Bitmap.CompressFormat.Webp, 80, stream); byte[] bitmapArray = stream.ToArray(); imageRef = storeRef.Child("driverProfilePics/" + AppDataHelper.GetCurrentUser().Uid); imageRef.PutBytes(bitmapArray).ContinueWithTask(new ContinuationTask(t => { if (!t.IsSuccessful) { OnboardingActivity.CloseProgressDialog(); Toast.MakeText(Activity, t.Exception.Message, ToastLength.Long).Show(); } })).AddOnCompleteListener(new OnCompleteListener(t => { if (t.IsSuccessful) { var driverRef = AppDataHelper.GetDatabase().GetReference($"Drivers/{AppDataHelper.GetCurrentUser().Uid}"); driverRef.Child("profile_img_url").SetValue(t.Result.ToString()).AddOnCompleteListener(new OnCompleteListener(t3 => { if (!t3.IsSuccessful) { Toast.MakeText(Activity, t3.Exception.Message, ToastLength.Long).Show(); } OnboardingActivity.CloseProgressDialog(); driverRef.Child(StringConstants.StageofRegistration).SetValue($"{RegistrationStage.CarRegistering}") .AddOnSuccessListener(new OnSuccessListener(r2 => { ProfileCaptured.Invoke(this, new EventArgs()); UpdateUiOnCpture(CaptureType.ProfilePic); OnboardingActivity.CloseProgressDialog(); })).AddOnFailureListener(new OnFailureListener(e2 => { OnboardingActivity.CloseProgressDialog(); OnboardingActivity.ShowErrorDialog("Something went wrong, please retry"); })); })); } else { OnboardingActivity.CloseProgressDialog(); OnboardingActivity.ShowErrorDialog("Something went wrong, please retry"); } })); } else { return; } }
private void SubmitButton_Click(object sender, EventArgs e) { HashMap postMap = new HashMap(); postMap.Put("author", AppDataHelper.GetFullName()); postMap.Put("owner_id", AppDataHelper.GetFirebaseAuth().CurrentUser.Uid); postMap.Put("post_date", DateTime.Now.ToString()); postMap.Put("post_body", postEditText.Text); DocumentReference newPostRef = AppDataHelper.GetFirestore().Collection("posts").Document(); string postKey = newPostRef.Id; postMap.Put("image_id", postKey); ShowProgressDialogue("Saving Information ..."); // Save Post Image to Firebase Storaage StorageReference storageReference = null; if (fileBytes != null) { storageReference = FirebaseStorage.Instance.GetReference("postImages/" + postKey); storageReference.PutBytes(fileBytes) .AddOnSuccessListener(taskCompletionListeners) .AddOnFailureListener(taskCompletionListeners); } // Image Upload Success Callback taskCompletionListeners.Sucess += (obj, args) => { if (storageReference != null) { storageReference.DownloadUrl.AddOnSuccessListener(downloadUrlListener); } }; // Image Download URL Callback downloadUrlListener.Sucess += (obj, args) => { string downloadUrl = args.Result.ToString(); postMap.Put("download_url", downloadUrl); // Save post to Firebase Firestore newPostRef.Set(postMap); CloseProgressDialogue(); Finish(); }; // Image Upload Failure Callback taskCompletionListeners.Failure += (obj, args) => { Toast.MakeText(this, "Upload was not completed", ToastLength.Short).Show(); }; }
private void BtnUpload_Click(object sender, EventArgs e) { if (imageArray != null) { storageRef = FirebaseStorage.Instance.GetReference("driverImages/profileImage"); storageRef.PutBytes(imageArray) .AddOnSuccessListener(this, taskCompletionListener) .AddOnFailureListener(this, taskCompletionListener); } }
void Regsiteruser(string email, string password) { mAuth.CreateUserWithEmailAndPassword(email, password); // Add Rider iamge storageReference = FirebaseStorage.Instance.GetReference("RiderIamges/" + PublicFunctions.generateID()); storageReference.PutBytes(imageArray) .AddOnSuccessListener(this) .AddOnFailureListener(this); }
private void Btn_Click(object sender, EventArgs e) { //upload to firebase storage for (int i = 0; i < 5; i++) { StorageReference oneRef = imagesRef.Child("one" + i + ".png"); Bitmap bitmap = BitmapFactory.DecodeResource(this.Resources, Resource.Drawable.one); MemoryStream stream = new MemoryStream(); bitmap.Compress(Bitmap.CompressFormat.Png, 100, stream); byte[] data = stream.ToArray(); UploadTask uploadtask = oneRef.PutBytes(data); uploadtask.AddOnSuccessListener(this); uploadtask.AddOnFailureListener(this); } }
void ConnectViews() { Fnametext = (TextInputLayout)FindViewById(Resource.Id.fullnametext); emtext = (TextInputLayout)FindViewById(Resource.Id.emailtext); passtext = (TextInputLayout)FindViewById(Resource.Id.passwordtext); submit = (Button)FindViewById(Resource.Id.submit_btn); login = (Button)FindViewById(Resource.Id.login_btn); googlelogin = (Button)FindViewById(Resource.Id.googlelogin_btn); profimg = (ImageView)FindViewById(Resource.Id.profileiv); gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DefaultSignIn) .RequestIdToken("228992356302-n0p15tka3tqvhps5e7ra7scrs6fqg0p0.apps.googleusercontent.com") .RequestEmail().Build(); googleapiclient = new GoogleApiClient.Builder(this).AddApi(Auth.GOOGLE_SIGN_IN_API, gso).Build(); googleapiclient.Connect(); submit.Click += (sender, e) => { if (imageArray == null) { imageArray = System.IO.File.ReadAllBytes("Resources/Images/DefaultUser.png"); } storageReference = FirebaseStorage.Instance.GetReference($"users/{Fnametext.EditText.Text}_image"); storageReference.PutBytes(imageArray); storageReference.GetDownloadUrl().AddOnSuccessListener(this); HashMap map = new HashMap(); map.Put("fullname", Fnametext.EditText.Text); map.Put("email", emtext.EditText.Text); map.Put("password", passtext.EditText.Text); map.Put("profileimage", url); DocumentReference docRef = database.Collection("users").Document(); docRef.Set(map); Toast.MakeText(this, "User Registered", ToastLength.Long).Show(); FetchUserData(); }; login.Click += (sender, e) => { string loginfname = Fnametext.EditText.Text.ToString(); string loginemail = emtext.EditText.Text.ToString(); string loginpass = passtext.EditText.Text.ToString(); //listOfUser=userservice.FetchUserData("user"); //while (listOfUser.Count == 0) //{ //} foreach (var item in listOfUser) { Console.WriteLine("Fullname: " + item.Fullname); } foreach (var item in listOfUser) { if (item.Fullname.Equals(loginfname) && item.Email.Equals(loginemail) && item.password.Equals(loginpass)) { Intent secondpageintent = new Intent(this, typeof(SecondPageActivity)); secondpageintent.PutExtra("accepteduser", JsonConvert.SerializeObject(item)); StartActivity(secondpageintent); return; } } Toast.MakeText(this, "Invalid Credentials", ToastLength.Long).Show(); return; }; profimg.Click += (sender, e) => { RequestPermissions(permissionGroup, 0); var trans = SupportFragmentManager.BeginTransaction(); uploadimg = new UploadImageFragment(); uploadimg.Show(trans, "profilepicmethod"); uploadimg.uploadImage += (Bitmap bitmap, byte[] imgary) => { profimg.SetImageBitmap(bitmap); imageArray = imgary; uploadimg.Dismiss(); }; }; googlelogin.Click += (sender, e) => { var intent = Auth.GoogleSignInApi.GetSignInIntent(googleapiclient); StartActivityForResult(intent, 1); }; }
private void SubmitButton_Click(object sender, EventArgs e) { HashMap postMap = new HashMap(); postMap.Put("author", AppDataHelper.GetFullname()); postMap.Put("owner_id", AppDataHelper.GetFirebaseAuth().CurrentUser.Uid); postMap.Put("post_date", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss tt")); postMap.Put("post_body", postEditText.Text); //this will return an instance of our firestore //this will also generate an id DocumentReference newPostRef = AppDataHelper.GetFirestore().Collection("posts").Document(); //retrieve the document ID created string postKey = newPostRef.Id; postMap.Put("image_id", postKey); ShowProgressDialogue("Posting.."); // Save post image to firebase storage StorageReference storageReference = null; //check if the filebytes is not null if (fileBytes != null) { //This is the location where our images will be uploaded in the Firebase Storage //"postImages/" + "photo" is the location + imagename storageReference = FirebaseStorage.Instance.GetReference("postImages/" + postKey); //this code will save our image file to firebase storage storageReference.PutBytes(fileBytes) .AddOnSuccessListener(taskCompletionListeners) .AddOnFailureListener(taskCompletionListeners); } taskCompletionListeners.Success += (obj, EventArgs args) => { //check if storageReference is null if (storageReference != null) { storageReference.DownloadUrl.AddOnSuccessListener(downloadUrlListener); } //to get hold of the URL downloadUrlListener.Success += (obj, args) => { string downloadUrl = args.Result.ToString(); postMap.Put("download_url", downloadUrl); //Save post to Firebase Firestore newPostRef.Set(postMap); CloseProgressDialogue(); Finish(); }; }; taskCompletionListeners.Failure += (obj, args) => { Toast.MakeText(this, "Upload failed!", ToastLength.Short).Show(); CloseProgressDialogue(); }; }
private void SignUp(string fullname, string email, string password, string confirmPassword) { //Register funcionality if (!Helpers.Helper.IsValidEmail(email)) { Toast.MakeText(this, "Please provide a valid email", ToastLength.Short).Show(); return; } else if (password != confirmPassword) { Toast.MakeText(this, "Passwords does not match", ToastLength.Short).Show(); return; } ShowDialog("Registering..."); auth.CreateUserWithEmailAndPassword(email, password) .AddOnFailureListener(registrationListener) .AddOnSuccessListener(registrationListener); string downloadUrl = ""; HashMap userMap = new HashMap(); StorageReference storageReference = null; DocumentReference userReference = null; //Registration Success registrationListener.Success += (s, args) => { userReference = database .Collection("users") .Document(auth.CurrentUser.Uid); string userId = userReference.Id; userMap.Put("email", email); userMap.Put("fullname", fullname); userReference.Set(userMap); SetupPrototipeCollections(); if (fileBytes != null) { Console.WriteLine("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); storageReference = FirebaseStorage.Instance.GetReference("chatAppAvatars/" + userId); storageReference.PutBytes(fileBytes) .AddOnSuccessListener(listener) .AddOnFailureListener(listener); } else { CloseDialog(); StartActivity(typeof(LoginActivity)); Finish(); Toast.MakeText(this, "Registration succeed", ToastLength.Short).Show(); return; } }; //Registration Failure callback registrationListener.Failure += (f, args) => { CloseDialog(); Toast.MakeText(this, "Registration failed due to: " + args.Cause, ToastLength.Short).Show(); }; //Image Add success listener.Success += (success, args) => { if (storageReference != null) { Console.WriteLine("YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"); storageReference.DownloadUrl.AddOnSuccessListener(downloadUrlListener); //storageReference.DownloadUrl.AddOnSuccessListener(downloadUrlListener); } Console.WriteLine("NUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUL"); }; downloadUrlListener.Success += (success, args) => { downloadUrl = args.Result.ToString(); userReference = database .Collection("users") .Document(auth.CurrentUser.Uid); userMap.Put("image_id", downloadUrl); userReference.Set(userMap); CloseDialog(); Toast.MakeText(this, "Registration succeed", ToastLength.Short).Show(); StartActivity(typeof(LoginActivity)); Finish(); }; listener.Failure += (f, args) => { Toast.MakeText(this, "Cannot upload the image", ToastLength.Short).Show(); CloseDialog(); }; }
private void DoneBtn_Click(object sender, EventArgs e) { doneBtn.Post(async() => { postProgress.Visibility = ViewStates.Visible; doneBtn.Enabled = false; doneBtn.Text = "Posting"; try { var stream = new System.IO.MemoryStream(); var bitmap = MediaStore.Images.Media.GetBitmap(Context.ContentResolver, uri); await bitmap.CompressAsync(Bitmap.CompressFormat.Webp, 70, stream); var imgArray = stream.ToArray(); var postRef = SessionManager.GetFireDB().GetReference("posts").Push(); string imageId = postRef.Key; imageRef = FirebaseStorage.Instance.GetReference("postImages/" + imageId); imageRef.PutBytes(imgArray).ContinueWithTask(new ContinuationTask( then: t => { if (!t.IsSuccessful) { throw t.Exception; } })).AddOnCompleteListener(new OncompleteListener( onComplete: t => { if (!t.IsSuccessful) { throw t.Exception; } var postMap = new HashMap(); postMap.Put("owner_id", SessionManager.GetFirebaseAuth().CurrentUser.Uid); postMap.Put("post_date", DateTime.UtcNow.ToString()); postMap.Put("post_body", commentEt.EditText.Text); postMap.Put("download_url", t.Result.ToString()); postMap.Put("image_id", imageId); postMap.Put("post_date", DateTime.UtcNow.ToString()); postRef.SetValue(postMap).AddOnCompleteListener(new OncompleteListener( onComplete: task => { try { if (!task.IsSuccessful) { throw task.Exception; } DismissAllowingStateLoss(); OnPostComplete?.Invoke(this, new EventArgs()); } catch (DatabaseException de) { DismissAllowingStateLoss(); OnErrorEncounted?.Invoke(this, new ErrorEventArgs { ErrorMsg = de.Message }); } })); postRef.KeepSynced(true); })); } catch (DatabaseException fde) { DismissAllowingStateLoss(); OnErrorEncounted?.Invoke(this, new ErrorEventArgs { ErrorMsg = fde.Message }); } catch (FirebaseNetworkException fne) { DismissAllowingStateLoss(); OnErrorEncounted?.Invoke(this, new ErrorEventArgs { ErrorMsg = fne.Message }); } catch (StorageException se) { DismissAllowingStateLoss(); OnErrorEncounted?.Invoke(this, new ErrorEventArgs { ErrorMsg = se.Message }); } catch (FirebaseAuthException fae) { OnErrorEncounted?.Invoke(this, new ErrorEventArgs { ErrorMsg = fae.Message }); DismissAllowingStateLoss(); } catch (Exception ex) { DismissAllowingStateLoss(); OnErrorEncounted?.Invoke(this, new ErrorEventArgs { ErrorMsg = ex.Message }); } }); }
public IStorageTransferTask PutBytes(byte[] bytes, IStorageMetadata metadata = null) { return(metadata == null ? _wrapped.PutBytes(bytes).ToAbstract() : _wrapped.PutBytes(bytes, metadata.ToNative()).ToAbstract()); }