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); }
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()); }
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); }
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); }