Ответ 1
что-то вроде:
success: function (data) {
var image = new Image();
image.src = "data:image/jpg;base64," + data.d;
var w = window.open("");
w.document.write(image.outerHTML);
}
Ниже код создает изображение в нижней части той же страницы. Как отобразить это изображение в новой вкладке/окне вместо отображения на одной странице?
success: function (data) {
var image = new Image();
image.src = "data:image/jpg;base64," + data.d;
document.body.appendChild(image);
}
что-то вроде:
success: function (data) {
var image = new Image();
image.src = "data:image/jpg;base64," + data.d;
var w = window.open("");
w.document.write(image.outerHTML);
}
window.open(image.src, '_blank');
текущие предложения не беспокоиться о Chrome, я всегда получаю белую страницу, теперь я использую
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');
спасибо Джереми!
fooobar.com/info/24226/...