Процессор Nifi не сохраняет расширение файла

У меня есть поток Nifi, в котором файл документа, например / pdf, doc и т. Д., Отправляется из REST API в процессор Nifi ListenHTTP. Процессор настроен на прием всех заголовков. Вот моя проблема

Действия по воспроизведению:

  1. hello-world.pdf отправлен в процессор ListenHttp
  2. осмотреть очередь и скачать файл

ожидаемый результат: загруженный файл должен называться hello-world.pdf.

Фактический результат: загруженный файл называется hello-world

Однако, если я использую процессор HandleHttpRequest, за которым следует процессор HandleHttpResponse, я получаю ожидаемый результат.

Кто-нибудь знает, почему процессор ListenHttp не дает ожидаемого результата?


person Johnny Alpha    schedule 05.01.2021    source источник
comment
Ваше сообщение не соответствует заголовку вопроса - расширение файла .pdf не относится к mime-типу, что могло бы быть application/pdf   -  person Sdairs    schedule 06.01.2021
comment
@Sdairs Исправлено!   -  person Johnny Alpha    schedule 06.01.2021


Ответы (1)


Решение состоит в том, чтобы добавить процессор обновления атрибута с атрибутом

ключ mime.type значение ${Content-Type}

Это связано с тем, что процессор HttpListener по умолчанию не записывает этот заголовок.

person Johnny Alpha    schedule 05.01.2021
comment
Так почему бы просто не использовать Content-Type? - person Sdairs; 06.01.2021
comment
В потоковом файле уже есть Content-Type, он не работает. Согласно документации другие HttpProcessors добавляют mime.type автоматически, HttpListener этого не делает. Без атрибута mime.type расширение файла в полезной нагрузке потокового файла не будет сохранено. - person Johnny Alpha; 06.01.2021