От C# до сервера Apache Tika 1.14 - ошибка 500 при использовании Multipart для больших файлов> 40 МБ
Мое требование: У меня есть.NET DLL, которая будет принимать имя файла..NET dll вызовет сервер tika и передаст файл в виде потока и должен получить обратно метаданные, а пользовательский анализ будет выполнен в требуемом формате (от Json до строки). Сервер Tika работает, и я проверил, что он работает, открыв http://localhost:9998/ URL. Для всех типов файлов до 40 МБ (из типов файлов, которые я тестировал) это работает нормально. Когда я пытаюсь передать файл (TIF) размером 42 МБ, я получаю сообщение об ошибке ниже с сервера Tika.
message {StatusCode: 500, ReasonPhrase: 'Ошибка сервера', Версия: 1.1, Содержимое: System.Net.Http.StreamContent, Заголовки: {Соединение: закрыть Сервер: Jetty(8.yz-SNAPSHOT)}} System.Net.Http.HttpResponseMessage
ReasonPhrase "Server Error"
- RequestMessage {Метод: POST, RequestUri: ' http://localhost:9998/meta/form', версия: 1.1, Content: System.Net.Http.MultipartFormDataContent, заголовки: { Accept: application/json Content-Type: multipart/ форм-данных; border ="a9e2fe05-bf74-42d1-b9d1-b312ea0e6af5" Content-Length: 51847981 }} System.Net.Http.HttpRequestMessage
Ниже приведен код, который я использовал
private string ExtractMetadata(string fileName)
{
const string RequestUri = "meta/form";
const string JSONType = "application/json";
var file = File.ReadAllBytes(fileName);
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(Url);
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(JSONType));
using (var content = new MultipartFormDataContent())
{
content.Add(new StreamContent(new MemoryStream(file)));
using (var message = client.PostAsync(RequestUri, content).Result)
{
return message.Content.ReadAsStringAsync().Result;
}
}
}
}
Все ссылки из поиска Google указывают на документацию Tika, в которой не приводятся примеры того, в чем заключается проблема с использованием файла большего размера или как использовать несколько частей. Здесь я использовал multipart, и он работает с файлами меньшего размера. Только для больших файлов я получаю вышеуказанную ошибку. Буду признателен за любую оказанную помощь.