#xamarin.android #firebase-storage
#xamarin.android #firebase-хранилище
Вопрос:
Я могу вставить изображение в firebase.storage, но ссылка для скачивания, которую я получаю, не совпадает с ссылкой для скачивания, прикрепленной к изображению при его загрузке.
public void UploadImage()
{
if (filePath != null)
progressBar.Visibility = ViewStates.Visible;
var images = storageRef.Child("profilePicture");
images.PutFile(filePath);
}
void IOnSuccessListener.OnSuccess(Java.Lang.Object result)
{
var snapShot = (UploadTask.TaskSnapshot)resu<
var downloadURL = snapShot.DownloadUrl.Scheme
":" snapShot.DownloadUrl.SchemeSpecificPart;
}
UserData newUser = new UserData();
newUser.UserId = UserId;
newUser.Email = UserEmail;
newUser.FirstName = first.Text;
newUser.LastName = last.Text;
newUser.MobileNumber = phone.Text;
newUser.Userprofile = storageRef.DownloadUrl;
Комментарии:
1. После загрузки изображения вам необходимо вызвать метод storageRef.getDownloadUrl() для загрузки URL-адреса изображения. У меня есть код на родном Android и IOS, но не на xamarin, если вы скажете, я могу поделиться им с вами.
2. хорошо, вы можете поделиться им
Ответ №1:
Я могу поделиться собственным кодом Android и IOS, чтобы получить URL-адрес из загруженного Firebase изображения / файла, возможно, вы могли бы получить некоторую помощь от этого для Xamarin.
Android:
Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
// Continue with the task to get the download URL
return fileRef.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
String stringUrl = downloadUri.toString(); // Image url
} else {
// Handle failures
Log.e("oops","problem occurred");
}
}
});
iOS:
fileRef.downloadURL { (url, error) in
guard let downloadURL = url else {
// Uh-oh, an error occurred!
print("Uh-oh, an error occurred! in url downloading")
return
}
print("downloadurl: (downloadURL.absoluteString)");
}
Комментарии:
1. Это фрагмент кода для получения только URL-адреса загруженного файла, но если вам нужно, я могу поделиться полными функциями для загрузки изображения, а затем получить URL-адрес изображения.
2. У меня нет ошибок в коде, но он все еще не работает