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);
        }
Beispiel #2
0
        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();
                }
            }
        }
Beispiel #3
0
 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);
            }
        }