How to open the newly created image in a new tab?
something like:
success: function (data) { var image = new Image(); image.src = "data:image/jpg;base64," + data.d; var w = window.open(""); w.document.write(image.outerHTML); }
current suggestions not worling at chrome, I always getting a white page, now I using
const base64ImageData = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';const contentType = 'image/png';const byteCharacters = atob(base64ImageData.substr(`data:${contentType};base64,`.length));const byteArrays = [];for (let offset = 0; offset < byteCharacters.length; offset += 1024) { const slice = byteCharacters.slice(offset, offset + 1024); const byteNumbers = new Array(slice.length); for (let i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } const byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray);}const blob = new Blob(byteArrays, {type: contentType});const blobUrl = URL.createObjectURL(blob);window.open(blobUrl, '_blank');
thanks to Jeremy!
https://stackoverflow.com/a/16245768/8270748
Latest solution - works 2019-10.
Open image in new tab.
let data = 'data:image/png;base64,iVBORw0KGgoAAAANS';let w = window.open('about:blank');let image = new Image();image.src = data;setTimeout(function(){ w.document.write(image.outerHTML);}, 0);
https://stackoverflow.com/a/58615423/2450431https://stackoverflow.com/a/46510790/2450431https://stackoverflow.com/a/27798235/2450431