使用Azure Blob存储URL,Xamarin iOS从URL获取数据始终为空

时间:2017-04-11 03:49:59

标签: ios azure xamarin azure-storage-blobs

所以我使用此代码从网址获取图片:

using (var url = new NSUrl(_img))
            using (var data = NSData.FromUrl(url))
            {
                scrollView = new UIScrollView(new CGRect(0, 0, View.Frame.Width, View.Frame.Height));
                View.AddSubview(scrollView);
                imageView = new UIImageView(UIImage.LoadFromData(data));
                //imgLoanDocument.SizeToFit();
                scrollView.ContentSize = imageView.Image.Size;
                scrollView.AddSubview (imageView);
                scrollView.Scrolled += DidScroll;
            }

如果我从网上抓取任何随机图像,这样就可以了。

但是,如果我尝试使用我通过API调用构建的Azure Blob存储帐户中的某个blob的URL,如下所示:

http://myazureaccount.blob.core.windows.net/cd8ce230-715e-473d-9c08-98221691c96e/a15de7d3-0947-41fc-b5b3-6dc45d8f42fe?sv=2015-12-11&sr=b&sig=2skZ9e6iJWprRQX2Zmff%2BwfivgXS903aaBYZFUaNH1I%3D&st=2017-04-11T03%3A05%3A53Z&se=2017-04-11T03%3A30%3A53Z&sp=r

然后data中的var data = NSData.FromUrl(url)始终为空。我可以使用这个完全相同的URL并将其发送给自己并查看图像(我甚至可以在iOS消息应用程序中进行预览)。如果我在浏览器中输入此URL,则会自动下载,如果我使用Chrome的检查器查看该网址,则会看到该图片的预览。

我甚至添加了一个使用非https网址的plist密钥:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

有人有什么想法吗?

更新

所以看一下模拟日志,我看到了:

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

但是上面的plist条目不应该解决这个错误吗?

0 个答案:

没有答案