Xamarin XafImageLoading CachedImage问题
我从这样一个API获得了一个Xamarin XafImageLoading CachedImage问题,xamarin,xamarin.forms,ffimageloading,Xamarin,Xamarin.forms,Ffimageloading,我从这样一个API获得了一个.PNG图像文件 public static async Task<CachedImage> GetImage(string UserID) { var URL = "assumeThisUrlPointsToServer" HttpClient client = new HttpClient(); Stream stream = await client.GetStreamAsync(URL); return new
.PNG
图像文件
public static async Task<CachedImage> GetImage(string UserID)
{
var URL = "assumeThisUrlPointsToServer"
HttpClient client = new HttpClient();
Stream stream = await client.GetStreamAsync(URL);
return new CachedImage { Source = ImageSource.FromStream(() => stream) };
}
然后它(
CachedImage
)就可以工作了 因此xamarin提供了一种查看图像的简单方法,您只需将图像的url作为image/cachedimage的源即可
<ffimageloading:CachedImage HeightRequest="52" Margin="13,0,16,0" Source="{Binding ImageURL}"/>
其中ImageURL是我从下载图像的URL。每次图像加载后,流被释放,您必须将代码修改为:
public static async Task<CachedImage> GetImage(string UserID)
{
var URL = "assumeThisUrlPointsToServer"
HttpClient client = new HttpClient();
return new CachedImage { Source = ImageSource.FromStream(() => {
return await client.GetStreamAsync(URL);
})};
}
公共静态异步任务GetImage(字符串UserID)
{
var URL=“assumeThisUrlPointsToServer”
HttpClient=新的HttpClient();
返回新的CachedImage{Source=ImageSource.FromStream(()=>{
返回wait client.GetStreamAsync(URL);
})};
}
您是否遵循了此处提到的所有步骤是的,如果我没有,它根本不会工作!
<ffimageloading:CachedImage HeightRequest="52" Margin="13,0,16,0" Source="{Binding ImageURL}"/>
public static async Task<CachedImage> GetImage(string UserID)
{
var URL = "assumeThisUrlPointsToServer"
HttpClient client = new HttpClient();
return new CachedImage { Source = ImageSource.FromStream(() => {
return await client.GetStreamAsync(URL);
})};
}