Apache nifi 动态设置内容类型apachenifi

Apache nifi 动态设置内容类型apachenifi,apache-nifi,Apache Nifi,我正在使用ApacheNIFI作为一个小型Web服务,它应该能够服务于静态文件(HTML、JavaScript、PNG、SVG、CSS)。我遇到了一个问题,因为NiFi似乎没有在响应头中设置内容类型 如何配置HandleHttpResponse模块以根据请求的文件类型正确设置内容类型头 一种方法是在表达式语言中使用嵌套的ifElse语句,但我认为这不是最佳实践 我试图实现的是,如果请求的文件是svg文件,它应该将内容类型设置为image/svg+xml,如果请求的文件是css文件,则设置为tex

我正在使用ApacheNIFI作为一个小型Web服务,它应该能够服务于静态文件(HTML、JavaScript、PNG、SVG、CSS)。我遇到了一个问题,因为NiFi似乎没有在响应头中设置内容类型

如何配置HandleHttpResponse模块以根据请求的文件类型正确设置内容类型头

一种方法是在表达式语言中使用嵌套的ifElse语句,但我认为这不是最佳实践

我试图实现的是,如果请求的文件是svg文件,它应该将内容类型设置为
image/svg+xml
,如果请求的文件是css文件,则设置为
text/css
,等等

提前谢谢

使用处理器

将文件扩展名和内容类型的映射放入SimpleKeyValueLookupService

svg = image/svg+xml
css = text/css
...
配置LookupAttribute以使用SimpleKeyValueLookupService并设置动态属性:

mime.type=${filename:replaceAll('.\\.([^\\.]+)$,'$1')}

谢谢!这就是诀窍!因为我没有filename属性,所以我必须使用:
mime.type=${http.request.uri:contains('.'):ifElse(${http.request.uri:substringAfterLast('.')},'html')}