如何从 Node-RED 中的 multipart/form-data 请求中获取 extract/parse 数据?
How to extract/parse data from a multipart/form-data request in Node-RED?
我有一个 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--
How do I extract/parse the data or file content?
遗憾的是,由于缺少访问权限,我无法将 formidable
等库添加到 Node-RED。
更新:
似乎可以在功能节点中手动创建一个multipart/form-data。所以,我最终使用@hardillb 先生的回答并在流程中重新创建了 multipart/form-data 请求。
参考:
您不需要使用其他任何东西。只需确保 "Accept File uploads" 框被勾选并且文件应该在 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
包含第一个文件的内容。
我有一个 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--
How do I extract/parse the data or file content?
遗憾的是,由于缺少访问权限,我无法将 formidable
等库添加到 Node-RED。
更新:
似乎可以在功能节点中手动创建一个multipart/form-data。所以,我最终使用@hardillb 先生的回答并在流程中重新创建了 multipart/form-data 请求。
参考:
您不需要使用其他任何东西。只需确保 "Accept File uploads" 框被勾选并且文件应该在 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
包含第一个文件的内容。