Nano Hash - криптовалюты, майнинг, программирование

При получении файлов через Apache HTTP Post заголовки задерживаются в файле.

Я замечаю, что когда я получаю файлы в своем приложении Java, используя следующие библиотеки:

compile group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: '4.4.5'
compile group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.5'
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2'
compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.2'

Я заметил, что в верхней части файла будут различные заголовки, такие как этот

--dVb9w156wIo3LdB-AjdoAEyD0yNsn9
Content-Disposition: form-data; name="file"; filename="SendFile.html"
Content-Type: application/octet-stream

<!doctype html> <!-- now the actual file begins -->

Я отправляю с помощью этого конструктора

HttpEntity requestEntity = MultipartEntityBuilder.create().setLaxMode()     
        .setContentType(ContentType.TEXT_HTML).addBinaryBody("file", out).build();

Таким образом, заголовки должны быть в laxMode(), который является HttpMultipartMode.BROWSER_COMPATIBLE, и это действительно удаляет некоторые заголовки из самого файла, но Content-Disposition и Content-Type все еще задерживаются.

Как мне убедиться, что я записываю тело файла только тогда, когда (на стороне клиента) я его записываю:

            try (OutputStream os = new FileOutputStream(tmp)) {
                e.writeTo(os);
                }

Некоторые примечания:

  • Сервер и клиент являются приложениями Apache HTTP Java.
  • Я считаю, что проблема в принимающей стороне. Мой клиент NodeJS Express, кажется, удаляет эти заголовки, когда я отправляю файлы этому клиенту NodeJS.
  • Я действительно предпочел бы не удалять заголовки вручную, должен быть способ указать Apache только .writeTo() тело, а не все это.

  • Используйте другой объект, кроме составного объекта, если вам не нужна составная кодировка. 07.12.2017
  • Какой объект будет делать то же самое, что я пытаюсь сделать здесь, но пропустить эти заголовки? Честно говоря, я склоняюсь к смене сервера, потому что знаю, что клиент Node может удалить эти заголовки. Должен быть способ, чтобы Java-клиент также мог их удалить. 07.12.2017
  • Аналогичный пост stackoverflow.com/a/61486460/1162620 01.05.2020

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..