【发布时间】:2019-12-23 11:23:12
【问题描述】:
我有 3 个文件需要发布到 API 端。我正在使用 FetchHDFS 进程获取 3 个文件,并且我想将它们传递给 API。我怎样才能通过它们。
输入:
3 files in HDFS
Content-Type: multipart/form-data
错误:
invokehttp.response.body
{ "message": "Multipart: Boundary not found (user: 'undefined')", "level": "error", "timestamp": "2019-12-11T09:59:05.464Z" }
流程尝试:
inputPort --> 3 FetchHDFS process to fetch 3 different file --> invokeHttps
curl 命令示例:
curl -X POST "https://xxxxxx/xxxxx" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file1=@File1.csv;type=application/vnd.ms-excel" -F "file2=@File2.txt;type=text/plain" -F "file3=@File3.csv;type=application/vnd.ms-excel" -F "format=flat"
【问题讨论】:
-
当我将内容类型值作为“multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW”传递时,边界问题已解决,但无法传递文件。更新了我正在尝试实现和工作的示例 curl 命令。
-
有一个问题如何在 nifi 中build multipart/form-data。但是要将多个流文件转换为一个多部分需要一些努力...
-
尝试这样的事情...... .addTextBody( "master", ff.File1 ) //从流文件属性中获取 "filename" .addTextBody( "compare", ff.File2 ) //add文件中的文本正文 .addBinaryBody( "avatar", streamIn, ContentType.DEFAULT_BINARY, ff.File1 ) .addBinaryBody( "avatar", streamIn, ContentType.DEFAULT_BINARY, ff.File2 ) 这行得通吗?我是 groovy 的新手
标签: api apache-nifi