0

I send some image from java. I need to do URLEncoder because I need to send the Base64 data in the URL

String base64Document = Base64.encode(documentBytes);
base64Document = URLEncoder.encode(base64Document, "UTF-8"); // This class contains static methods for converting a String to the application/x-www-form-urlencoded MIMEformat

But when I load this data I dont have any image.

I need a way to decode this.

My code works for canvas but not for image

 console.log("Encoded" + vm.documentData.base64Document);
    vm.documentData.base64Document = urlDecode(vm.documentData.base64Document);
    console.log("Decoded" + vm.documentData.base64Document);


   // Decode Safe URL Base64
function urlDecode(encoded) {
    encoded = encoded.replace(/-/g, '+').replace(/_/g, '/');
    while (encoded.length % 4)
      encoded += '=';
      return new ArrayBuffer(encoded || '', 'base64').toString('utf8');
};

html

  <img class="document" src="data:image/png;base64,{{vm.documentData.base64Document}}" />  

GET data:image/png;base64,[object ArrayBuffer] net::ERR_INVALID_URL

1 Answers1

0

ArrayBuffer.prototype.toString will always return [object ArrayBuffer].

If you need to convert it into a string, I suggest to read this answer: Converting between strings and ArrayBuffers

Errorname
  • 2,228
  • 13
  • 23