如何在Xamarin.Forms中显示设备存储中的图像?

时间:2018-12-25 16:51:32

标签: c# xamarin xamarin.forms imagesource

我需要将图像的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 :(得分:0)

您可以创建一个MediaFile对象,例如

public MediaFile AttachedImage;

并将捕获的图像存储到其中,以便解决以下问题, 引发此异常:System.ObjectDisposedException:无法访问已处置的对象。对象名称:“流已关闭。 您可以随时从该对象获取图像流,

img.Source = AttachedImage.GetStream().

它将确保解决您的问题。

答案 1 :(得分:-1)

Media Plugin返回带有路径的文件。您必须使用此文件:

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