Exemple #1
0
        internal async Task Upload(Action <long, long> onProgress)
        {
            MultipartFormDataContent dataContent = new MultipartFormDataContent();

            dataContent.Add(new StringContent(key), "key");
            dataContent.Add(new StringContent(token), "token");
            dataContent.Add(new ByteArrayContent(data), "file");

            LCProgressableStreamContent content = new LCProgressableStreamContent(dataContent, onProgress);

            HttpRequestMessage request = new HttpRequestMessage {
                RequestUri = new Uri(uploadUrl),
                Method     = HttpMethod.Post,
                Content    = content
            };
            HttpClient client = new HttpClient();

            HttpUtils.PrintRequest(client, request);
            HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

            request.Dispose();

            string resultString = await response.Content.ReadAsStringAsync();

            response.Dispose();
            HttpUtils.PrintResponse(response, resultString);

            HttpStatusCode statusCode = response.StatusCode;
        }
        internal async Task Upload(Action <long, long> onProgress)
        {
            LCProgressableStreamContent content = new LCProgressableStreamContent(new StreamContent(stream), onProgress);

            HttpRequestMessage request = new HttpRequestMessage {
                RequestUri = new Uri(uploadUrl),
                Method     = HttpMethod.Put,
                Content    = content
            };
            HttpClient client = new HttpClient();

            request.Headers.CacheControl = new CacheControlHeaderValue {
                Public = true,
                MaxAge = TimeSpan.FromMilliseconds(31536000)
            };
            request.Content.Headers.ContentType = new MediaTypeHeaderValue(mimeType);
            LCHttpUtils.PrintRequest(client, request);
            HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

            request.Dispose();

            string resultString = await response.Content.ReadAsStringAsync();

            response.Dispose();
            LCHttpUtils.PrintResponse(response, resultString);

            HttpStatusCode statusCode = response.StatusCode;
        }