Ejemplo n.º 1
0
        public static MultipartFormDataContent Create(HMultipart multipart)
        {
            var disposition = EncodeHelper.CreateDisposition(multipart);
            var mContent    = new MultipartFormDataContent(multipart.Boundary);
            var fileContent = new StreamContent(File.OpenRead(multipart.filePath));

            fileContent.Headers.ContentType = new MediaTypeHeaderValue(multipart.ContentType);
            fileContent.Headers.Add("Content-Disposition", disposition);
            mContent.Add(fileContent);

            return(mContent);
        }
Ejemplo n.º 2
0
        public static string CreateDisposition(HMultipart multipart)
        {
            var fileInfo             = new FileInfo(multipart.filePath);
            var headerValue          = $"{multipart.DispositionHeaderValue}; name=\"{multipart.DispositionHeaderName}\"; filename=\"{multipart.DispositionHeaderFileName}\"";
            var headerValueByteArray = Encoding.UTF8.GetBytes(headerValue);
            var encHeaderValue       = new StringBuilder();

            foreach (var b in headerValueByteArray)
            {
                encHeaderValue.Append((char)b);
            }
            return(encHeaderValue.ToString());
        }
Ejemplo n.º 3
0
        private (HttpClient, MultipartFormDataContent) Create(HttpClient _client, HClientCookie _clientCookie, HClientHeader _clientHeader, HMultipart multipart)
        {
            HttpClient client = null;
            MultipartFormDataContent content = null;

            client  = HClientService.Create(_client, _clientCookie, _clientHeader);
            content = HContentService.Create(multipart);

            return(client, content);
        }
Ejemplo n.º 4
0
        public async Task <HClientResponse> Post(string _requestUrl, HClientCookie _clientCookie = null, HClientHeader _clientHeader = null, HMultipart multipart = null)
        {
            try
            {
                var instance = Create(client, _clientCookie, _clientHeader, multipart);
                client = instance.Item1;
                var content       = instance.Item2;
                var resultMessage = await client.PostAsync(_requestUrl, content);

                hResponse = new HClientResponse(resultMessage);
            }
            catch (Exception ex)
            {
                hResponse = null;
                throw new Exception(ex.Message);
            }
            return(hResponse);
        }