Я вызываю веб-API для POST некоторых изображений, есть два параметра,
ActionId => int,
Images => [{"content":"base64","mime":"image/png"}]
, когда base64 слишком велик, параметр пропускается из запроса
public static async Task<ImageResponseModel> UploadFile(List<ApiParameters> lstParameters, string url)
{
try
{
string boundary = "---boundaryb5dafaaadaad";
MultipartFormDataContent form = new MultipartFormDataContent(boundary);
foreach (var par in lstParameters)
{
form.Add(new StringContent(par.ParameterValue), par.ParameterName);
}
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("postman-token", "fe10d2c6-201e-ca7d-0d66-52d7f948f78f");
client.DefaultRequestHeaders.Add("cache-control", "no-cache");
client.DefaultRequestHeaders.Add("authorization", "the auth token here");
HttpResponseMessage response = await client.PostAsync(ServerUrl + url, form);
response.EnsureSuccessStatusCode();
client.Dispose();
string responseContent = await response.Content.ReadAsStringAsync();
var apiResponse = JsonConvert.DeserializeObject<ImageResponseModel>(responseContent);
return apiResponse;
}
catch (Exception ex)
{
Log.Report(ex);
return null;
}
}
Не может StringContent
обрабатывать большие куски текста (изображения + 2 МБ, с длиной строки более 6 М символов)?