所以我使用此代码从网址获取图片:
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条目不应该解决这个错误吗?