我有一个HTTP-in节点,该节点接收包含以下有效负载的请求:
------WebKitFormBoundaryk5AazdSJAKEDRWS9
Content-Disposition: form-data; name="file"; filename="Sample1.csv"
Content-Type: application/vnd.ms-excel
< ... csv data here ... >
------WebKitFormBoundaryk5AazdSJAKEDRWS9
Content-Disposition: form-data; name="data"; filename="Sample1.json"
Content-Type: application/json
< ... json data here ... >
------WebKitFormBoundaryk5AazdSJAKEDRWS9--
如何提取/解析数据或文件内容?
遗憾的是,由于缺少访问权限,我无法将formidable
之类的库添加到Node-RED。
更新:
似乎可以在功能节点中手动创建multipart / form-data。因此,我最终使用了@hardillb先生的答案,并在流程中重新创建了multipart / form-data请求。
答案 0 :(得分:0)
您不需要使用其他任何东西。只需确保选中“接受文件上传”框,并且文件应该在msg.req.files
下可用
具有以下结构:
[
{
fieldname: "file",
originalName: "Sample1.csv",
encoding: "7bit",
mimeType: "application/vnd.ms-excel",
buffer: [...],
size: 2345
},
{
fieldname: "data",
originalName: "Sample1.json",
encoding: "7bit",
...
}
]
msg.req.files[0].buffer
包含第一个文件的内容。