The CreatorCon Call for Content is officially open! Get started here.

The attached PDF is blank

Lom
Tera Contributor

Hello,

can you help with this script below. It works but the pdf file attached is 0k:

 

var pdf_base64 = 'JVBERi0xLjMKJcfsj6IKMSAwIG9iagogPDwvVHlwZSAvUGFnZSAvUGFyZW50IDMgMCBSIC9SZXNvdXJjZXMgMiAwIFIgL0NvbnRlbnRzIDQgMCBSIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdID4+CmVuZG9iagoyIDAgb2JqIDw8L1Byb2NTZXQgNiAwIFIgL0ZvbnQgPDwvRjEgNSAwIFIgPj4gPj4KZW5kb2JqCjMgMCBvYmogPDwvVHlwZSAvUGFnZXMgL0tpZHMgWzEgMCBSXSAvQ291bnQgMSAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKNCAwIG9iaiA8PC9MZW5ndGggNzggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCkJUCi9GMSA0OCBUZiAxMCAxMCBUZCAoSGVsbG8sIHdvcmxkLikgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqIDw8L1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUxIC9CYXNlRm9udCAvSGVsdmV0aWNhID4+CmVuZG9iago2IDAgb2JqIFsgL1BERiAvVGV4dCBdCmVuZG9iagp4cmVmCjAgNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA2NyAwMDAwMCBuIAowMDAwMDAwMTc5IDAwMDAwIG4gCjAwMDAwMDAzMDUgMDAwMDAgbiAKMDAwMDAwMDM3NiAwMDAwMCBuIAowMDAwMDAwNDM3IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA3IC9Sb290IDMgMCBSPj4Kc3RhcnR4cmVmCjQ1NgUlRUYlRjAKJSVFTg==';



 var attachment = new GlideRecord('sys_attachment');
     attachment.initialize();
     attachment.table_name = "u_imp";
     attachment.table_sys_id = "9a1a7deb473f5290c3e13f52e36d4365";
     attachment.file_name = "test.pdf";
     attachment.content_type = "application/pdf";
     attachment.encoded_string = pdf_base64; 
     var sysId = attachment.insert();

 

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

@Lom 

that's now how attachments are created.

try this script

If the base64 data is correct then the file will be uploaded fine and you can view the content as well

var pdf_base64 = 'JVBERi0xLjMKJcfsj6IKMSAwIG9iagogPDwvVHlwZSAvUGFnZSAvUGFyZW50IDMgMCBSIC9SZXNvdXJjZXMgMiAwIFIgL0NvbnRlbnRzIDQgMCBSIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdID4+CmVuZG9iagoyIDAgb2JqIDw8L1Byb2NTZXQgNiAwIFIgL0ZvbnQgPDwvRjEgNSAwIFIgPj4gPj4KZW5kb2JqCjMgMCBvYmogPDwvVHlwZSAvUGFnZXMgL0tpZHMgWzEgMCBSXSAvQ291bnQgMSAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKNCAwIG9iaiA8PC9MZW5ndGggNzggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCkJUCi9GMSA0OCBUZiAxMCAxMCBUZCAoSGVsbG8sIHdvcmxkLikgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqIDw8L1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUxIC9CYXNlRm9udCAvSGVsdmV0aWNhID4+CmVuZG9iago2IDAgb2JqIFsgL1BERiAvVGV4dCBdCmVuZG9iagp4cmVmCjAgNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA2NyAwMDAwMCBuIAowMDAwMDAwMTc5IDAwMDAwIG4gCjAwMDAwMDAzMDUgMDAwMDAgbiAKMDAwMDAwMDM3NiAwMDAwMCBuIAowMDAwMDAwNDM3IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA3IC9Sb290IDMgMCBSPj4Kc3RhcnR4cmVmCjQ1NgUlRUYlRjAKJSVFTg==';
var tableSysId = '9a1a7deb473f5290c3e13f52e36d4365';
var tableName = 'u_imp';
var contentType = 'application/pdf';
var ecc = new GlideRecord('ecc_queue');
ecc.initialize();
ecc.agent = "AttachmentCreator";
ecc.topic = "AttachmentCreator";
ecc.name = "test.pdf:" + contentType;
ecc.source = tableName + ":" + tableSysId;
ecc.payload = pdf_base64;
ecc.insert();

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

View solution in original post

11 REPLIES 11

Thank you Ankur, that works!

Glad to help.

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