在Xamarin ios中从url下载图像的最佳方法是什么?

时间:2018-03-24 14:22:47

标签: c# xamarin.ios webclient-download system.net.webexception

我需要为每次平移和捏缩放下载开放街道地图图块。我使用WebClient从Uri下载图像。但我得到“一个HttpWebRequest被添加到连接组队列,因为连接linit已到达,很快,我在Xamarin iOS中获得System.Net.WebException。但我在Xamarin.Android中也是这样做的,图像的下载速度比Xamarin iOS要好。

        WebClient webClient = new WebClient();
        byte[] imageBytes = null;
        Uri uri = new Uri("http://tile.openstreetmap.org/" + Scale.ToString() + "/" + i.ToString() + "/" + j.ToString() + ".png");
        imageBytes = await webClient.DownloadDataTaskAsync(uri);

1 个答案:

答案 0 :(得分:1)

在iOS上,我们可以使用NSUrlSession下载图片,这对您可能更有帮助。您可以参考以下代码了解用法:

NSUrlSession session = NSUrlSession.SharedSession;
var dataTask = session.CreateDataTask(new NSUrlRequest(new NSUrl("yourUrl")), (data, response, error) =>
{
    if (response != null)
    {
        DispatchQueue.MainQueue.DispatchAsync(() =>
        {
            MyImageView.Image = UIImage.LoadFromData(data);
        });
    }
});

dataTask.Resume();