Xamarin.Forms image download from Server image API
public static Image[] Img_Array = new Image[4];
public static string[] Img_Rrl = new string[4];
const int _downloadImageTimeoutInSeconds = 15;
List<Image_URLRTN> _Values = await Image_SearchURL(items);
for ( int i =0; i < _Values.Count; i++)
{
Uri UUII = new Uri(_Values[i].imageURL);
byte[] dataArr;
HttpClientHandler clientHandler = new HttpClientHandler();
clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; };
using (var _httpClients = new HttpClient(clientHandler))
{
_httpClients.Timeout = TimeSpan.FromSeconds(_downloadImageTimeoutInSeconds);
using (var httpResponse = await _httpClients.GetAsync(UUII))
{
try
{
if (httpResponse.StatusCode == HttpstatusCode.OK)
{
dataArr = await httpResponse.Content.ReadAsByteArrayAsync();
}
else
{
dataArr = null;
}
if (dataArr != null)
{
Image _image = new Image();
_image.Source = ImageSource.FromStream(() => new MemoryStream(dataArr));
Img_Array[i] = _image;
Img_Rrl[i] = _Values[i].imageReURL;
httpResponse.Dispose();
} // try
catch (Exception EX)
{
dataArr = null;
httpResponse.Dispose();
Console.WriteLine( EX.Message);
}
_httpClients.Dispose();
}
}
clientHandler.Dispose();
}// for