Как установить заголовок в Httpclient запрос POST c контентом MultipartFormDataContent?
Пишу клиента к TikeServer
Клиент должен извлечь текст из pdf файла и из изображений в pdf файле.
У меня извлекается только текст. Для того, чтобы распознавалось изображение, нужно установить заголовок "X-Tika-PDFextractInlineImages:true".
Через curl все извлекается как надо.
Как установить заголовок?
private async Task<string> ExtractData()
{
string tikaServerURI = "http://localhost:9998/";
const string RequestUri = "rmeta/form";
const string JSONType = "application/json";
byte[] fileByte = System.IO.File.ReadAllBytes(@"D:\dirIn\1.pdf");
MemoryStream ms = new MemoryStream(fileByte);
try
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(tikaServerURI);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("X-Tika-PDFextractInlineImages", "true");
string tikaServerContent;
using (var content = new MultipartFormDataContent())
{
// content.Headers.Add("X-Tika-PDFextractInlineImages", "true");
content.Add(new StreamContent(ms));
using (var message = client.PostAsync(RequestUri, content).Result)
{
tikaServerContent = message.Content.ReadAsStringAsync().Result;
}
}
}
}
catch (Exception ex)
{
_logger.LogError("Ошибка {0}", ex.Message);
throw new Exception();
}
return tikaServerContent;
}