Как показать изображения с устройства хранения в Xamarin.Forms? - PullRequest
0 голосов
/ 25 декабря 2018

Мне нужно установить для свойства Source изображения путь, возвращаемый после того, как пользователь выбрал его из галереи или камеры (с помощью Plugin.Media), путь выглядит следующим образом:

/storage/emulated/0/Android/data/com.company.myApp/files/Pictures/temp/Screenshot_20181225-134128_6.jpg

Я пробовал это

ImageSource.FromUri(new Uri(file.FilePath, UriKind.RelativeOrAbsolute));

, но изображение ничего не показывает,

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

вы можете создать объект MediaFile, например,

public MediaFile AttachedImage;

и сохранить захваченное изображение в нем, чтобы устранить проблему, указанную ниже, это исключение: Система.ObjectDisposedException: Невозможно получить доступ к удаленному объекту.Имя объекта: «Поток был закрыт .Вы можете получить Image Stream в любое время от этого объекта, например,

img.Source = AttachedImage.GetStream().

, это точно решит вашу проблему.

0 голосов
/ 25 декабря 2018

Media Plugin возвращает файл с путем.Вы должны использовать это для файла:

image.Source = ImageSource.FromStream(() =>
    {
        var stream = file.GetStream();
        return stream;
    }); 
...