private Bitmap GetImageBitmapFromUrl(String url) { Bitmap bm = null; Java.Net.URL aURL = new Java.Net.URL(url); Java.Net.HttpURLConnection conn = (Java.Net.HttpURLConnection)aURL.OpenConnection(); conn.Connect(); Stream stream = conn.InputStream; BufferedStream bsteam = new BufferedStream(stream); bm = BitmapFactory.DecodeStream(bsteam); bsteam.Close(); stream.Close(); return(bm); }
private int GetFileSize(string fileUrl) { using (var url = new Java.Net.URL(fileUrl)) { Java.Net.HttpURLConnection conn = null; try { conn = (Java.Net.HttpURLConnection)url.OpenConnection(); conn.RequestMethod = "HEAD"; return(conn.ContentLength); } catch (Java.IO.IOException e) { return(-1); } finally { conn.Disconnect(); } } }
protected override System.Threading.Tasks.Task SetupRequest(System.Net.Http.HttpRequestMessage request, Java.Net.HttpURLConnection conn) { if (conn is HttpsURLConnection) { if (Android.OS.Build.VERSION.SdkInt < Android.OS.BuildVersionCodes.Lollipop) { //Enable support for TLS v1.2 ((HttpsURLConnection)conn).SSLSocketFactory = _customTlsSSLSocketFactory; } } return(base.SetupRequest(request, conn)); }
protected override async Task WriteRequestContentToOutput(HttpRequestMessage request, Java.Net.HttpURLConnection httpConnection, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (httpConnection == null) { throw new ArgumentNullException(nameof(httpConnection)); } // https://github.com/xamarin/xamarin-android/issues/4476 var stream = await request.Content.ReadAsStreamAsync().ConfigureAwait(false); await stream.CopyToAsync(httpConnection.OutputStream, 4096, cancellationToken).ConfigureAwait(false); if (stream.CanSeek) { stream.Seek(0, SeekOrigin.Begin); } }