Describir el problema/error/pregunta
Necesito ejecutar una solicitud HTTP donde el servidor espera que proporcione múltiples archivos bajo el mismo campo de datos. El número de archivos no es estático, así que no puedo simplemente mapear cada archivo a un campo en el nodo n8n. ¿Es eso posible a través del nodo HTTP o debería usar un nodo de código?
¿Cuál es el mensaje de error (si la hay)?
Lo intenté así pero obviamente si tengo más de 1 archivo obtengo un error que dice que el binario con id no existe.
Por favor, comparte tu flujo de trabajo
{
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
0,
0
],
"id": "fb16aeab-57ba-485f-8c6e-7bc015bd1e28",
"name": "When clicking 'Execute workflow'"
},
{
"parameters": {
"method": "POST",
"url": "=http://example.org/project/tag",
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"parameterType": "formBinaryData",
"name": "data",
"inputDataFieldName": "={{ Object.keys($binary).filter((k) =
k !== 'params').join(',') }}"
},
{
"parameterType": "formBinaryData",
"name": "params",
"inputDataFieldName": "params"
},
{
"name": "aggregate",
"value": "true"
}
]
},
"options": {
"response": {
"response": {
"fullResponse": true,
"neverError": true
}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.3,
"position": [
448,
0
],
"id": "e2323076-8b22-4872-8eb3-7b1710a8a987",
"name": "Async Tagging"
},
{
"parameters": {
"jsCode": "const source = $('When Executed by Another Workflow').first();\nconst sourceBinary = { ...(source.binary || {}) };\nconst paramsPayload = {\n projectId: [source.json.fields.projectID],\n language: source.json.fields.language,\n filterNestedConcepts: source.json.fields.FilterNestedConcepts,\n numberOfConcepts: source.json.fields.LabelsPerPage,\n numberOfTerms: source.json.fields.LabelsPerPage,\n};\n\nsourceBinary.params = {\n data: Buffer.from(JSON.stringify(paramsPayload), 'utf8').toString('base64'),\n mimeType: 'application/json',\n fileName: 'params.json',\n fileExtension: 'json',\n};\nreturn [\n {\n binary: sourceBinary,\n },\n];"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
224,
0
],
"id": "100a0875-9bce-4790-be6c-da7a31407523",
"name": "Prepare Extraction Input"
}
],
"connections": {
"When clicking 'Execute workflow'": {
"main": [
[
{
"node": "Prepare Extraction Input",
"type": "main",
"index": 0
}
]
]
},
"Prepare Extraction Input": {
"main": [
[
{
"node": "Async Tagging",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": {
"instanceId": "982a83c4fa14b8860ea8391b8f766ad449d7431aac64126d0b9fc936877b58be"
}
}
Información sobre tu configuración de n8n
- Versión de n8n: 2.21.7
- Base de datos (predeterminado: SQLite): postgres
- Configuración EXECUTIONS_PROCESS de n8n (predeterminado: own, main): own
- Ejecutando n8n a través de (Docker, npm, n8n cloud, app de escritorio): docker
- Sistema operativo: macOS
