n8n-nodes-zuckzapgo
Version:
n8n community nodes for ZuckZapGo - WhatsApp Multi-Device REST API
38 lines • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getUploadFormData = getUploadFormData;
exports.setupUpload = setupUpload;
const n8n_workflow_1 = require("n8n-workflow");
async function getUploadFormData() {
const mediaPropertyName = (this.getNodeParameter('mediaPropertyName') || '').trim();
if (!mediaPropertyName)
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Parameter "mediaPropertyName" is not defined');
const binaryData = this.helpers.assertBinaryData(mediaPropertyName);
const mediaFileName = this.getNodeParameter('additionalFields').mediaFileName;
const fileName = mediaFileName || binaryData.fileName;
if (!fileName)
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No file name given for media upload.');
const buffer = await this.helpers.getBinaryDataBuffer(mediaPropertyName);
// Use n8n's built-in form data handling instead of external form-data library
const formData = {
file: {
value: buffer,
options: {
filename: fileName,
contentType: binaryData.mimeType,
},
},
};
return { fileName, formData };
}
async function setupUpload(requestOptions) {
const uploadData = await getUploadFormData.call(this);
// Configure request for form data upload using n8n's native capabilities
requestOptions.body = uploadData.formData;
requestOptions.headers = {
...requestOptions.headers,
'Content-Type': 'multipart/form-data',
};
return requestOptions;
}
//# sourceMappingURL=MediaFunctions.js.map