От 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, и он работает с файлами меньшего размера. Только для больших файлов я получаю вышеуказанную ошибку. Буду признателен за любую оказанную помощь.

0 ответов

Другие вопросы по тегам