Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 字节数组到UIImage_Ios_Xamarin_Xamarin.ios - Fatal编程技术网

Ios 字节数组到UIImage

Ios 字节数组到UIImage,ios,xamarin,xamarin.ios,Ios,Xamarin,Xamarin.ios,在我的Xamarin.iOS应用程序中,我需要将一个字节数组转换为UIImage。我试过这个: var data = NSData.FromArray(myByteArray); var uiimage = UIImage.LoadFromData(data); 但这行不通。它创建了UIImage,但当我将其设置为UIImageView时,我什么也看不到。我在我的项目的Android平台上使用了相同的字节数组,效果很好。因此,我假设我尝试将其转换为UIImage的方法是错误的。我不确定您是如何

在我的Xamarin.iOS应用程序中,我需要将一个字节数组转换为
UIImage
。我试过这个:

var data = NSData.FromArray(myByteArray);
var uiimage = UIImage.LoadFromData(data);

但这行不通。它创建了
UIImage
,但当我将其设置为
UIImageView
时,我什么也看不到。我在我的项目的Android平台上使用了相同的字节数组,效果很好。因此,我假设我尝试将其转换为
UIImage
的方法是错误的。

我不确定您是如何将数据下载到字节数组中的,但下面是使用
NSUrlConnection
的示例:

// allow NSAllowsArbitraryLoads since this is a HTTP connection
var url = new NSUrl("http://example.com/foobar.jpg");
var data = NSUrlConnection.SendSynchronousRequest(NSUrlRequest.FromUrl(url), out var response, out var error);
var image = UIImage.LoadFromData(data);
ImageView1.Image = image;
注意:这是一个同步请求,请使用
SendAsynchronousRequest
或在主线程外执行此操作

实际上,我错过的是NSAllowsArbiraryLoads许可证

您可以通过以下方式禁用所有ATS:

<key>NSAppTransportSecurity</key>
<dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
</dict>
NSAppTransportSecurity
NSAllowsArbitraryLoads
您最好可以在域级别执行此操作:


myByteArray包含什么类型的图像?您能告诉我们您是如何获得myByteArray的,或者至少是
数据的第一个/结束字节
,因为它是JPEG,所以应该有.jpg对应的StartOfFile/EndOfFile。我不使用Xamarin,但这可能是大/小印度的问题吗?@Larme它在我的Android平台上工作,所以我不认为这是问题所在。@Darius如果问题显然是关于
NSAllowsArbiraryLoads
缺失,那么
myByteArray
将为零。因此,很明显,检查它的值可以指出问题出在下载部分。