I'm getting a base64 String pdfContent from a callout response which I'm trying to save as a attachment of a record. I tried to save it after decoding it with

EncodingUtil.base64Decode('base64String'); - Didn't work

Tried to simply store it as Blob with

Blob.valueOf('base64String'); - Didn't work

The Blob is getting saved as attachment But When I try to view it, It throws an Error

"Failed to load Pdf Document"

How can I make it view-able?

Here's the apex logic of storing the attachment.

String base64String = 'some base64 String';
    Attachment atc = new Attachment();
    atc.Name = 'Test.pdf';
    atc.ContentType = 'application/pdf';
    //atc.Body = Blob.valueOf(base64String);
    //atc.Body = EncodingUtil.base64Decode(base64String);
    //atc.ParentId = 'a0041XXXXXXXXXX';
    insert atc;
  • 1
    EncodingUtil.base64Decode ... should work....may be input blob is faulty.. – Ayub Jun 27 '18 at 7:20
  • Cheked the blob..It's missing some part.. Now EncodingUtil.base64Decode(); Worked – A.Bretto Jun 27 '18 at 15:03

Just adding as answer so that can help others:

Base64 input string was not complete and was causing faulty input blob.

After fixing it, EncodingUtil.base64Decode worked as expected.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.