Issue while converting attachments to Base64 in flow designer action

nayanmule
Tera Guru

Hi All,

 

We have an integration requirement where we will be sending attachments from Incidents to third party application. I am currently doing it using flow designer action. 

 

The main isue that I am facing is the mix of base64 content when multiple attachments are attached to an Incident. 

 

If I am adding a single attachment, it's working absolutely fine. The third party is also able to retrieve and read the attachment. But, the problem is when there are multiple files added , the base64 content gets mixed between the files. Hence, the other integrated environment are not able to read these corrupted files though they are able to retrieve it.

 

Here's my code - 

(function execute(inputs, outputs) {
// ... code ...
var inc = new GlideRecord('incident');
inc.addQuery('sys_id',inputs.incident_sysid);
inc.query();
if(inc.next())
{
  outputs.incnumber = inc.number;
  outputs.postnumber = inc.correlation_id;
}

var sa = new GlideSysAttachment();
var gr = new GlideRecord('sys_attachment');
gr.addQuery('sys_id', inputs.attachment_sysid);
gr.addQuery('table_name', 'incident');
gr.setLimit(1);
gr.query();

var attachments = [];

if (gr.next()) {
  var bytesInFile = sa.getBytes('incident', inputs.incident_sysid);
	var base64string = GlideStringUtil.base64Encode(bytesInFile);
   // var base64Content = sa.getBase64Content(gr);
   gs.log('base64' +base64string);
    attachments.push({
      filename : gr.getValue('file_name'),
      content_type: gr.getValue('content_type'),
      content: base64string
    });
}

    
outputs.base64 = JSON.stringify(attachments);


})(inputs, outputs);

The file name, content_type are working fine but the content of base64 is giving me the issues.

 

Any help will be appreciated. 

Thanks in Advance !

Nayan

10 REPLIES 10

@nayanmule 

seems you are trying with some PDF file for which base64 is huge

try smaller text or csv files and see

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader