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

Posted

技术标签:

【中文标题】从 Xamarin ios 中的 url 下载图像的最佳方法是啥?【英文标题】:What is the best way to download image from url in Xamarin ios?从 Xamarin ios 中的 url 下载图像的最佳方法是什么? 【发布时间】:2018-03-24 14:22:46 【问题描述】:

我需要为每次平移和捏缩放下载打开街道地图图块。我使用 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】:

在 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();

【讨论】:

你能分享一个更完整的例子吗?在如何使用它

以上是关于从 Xamarin ios 中的 url 下载图像的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PCL 支持从 xamarin 跨平台项目中的 URL 下载文件

无法从UIKit.UIImage转换为ZXing.LuminanceSource - 2017年Visual Studio中的Xamarin iOS

使用 Xamarin.Forms 从 URL 显示图像

从 Xamarin / C# 中的 URL 加载的 UIImage

从 url/http 下载并打开图片 [Android Xamarin App]

来自 URL 的 Skiasharp 贷款图像并在 Xamarin 表单中的 Canvas 上绘制