У меня есть base64 строка изображения. Как я могу преобразовать это в URL-адрес объекта? Цель состоит в том, чтобы попытаться посмотреть, будет ли мой svg-редактор работать быстрее, введя URL-адрес Blob в DOM вместо очень большой строки base64. Это используется только для редактирования SVG. При сохранении URL-адреса объектов снова преобразуются в base64.
Размер изображения обычно составляет 0,5 МБ или больше.
Что я пробовал:
var img = ...; //svg <image>
var bb = new BlobBuilder();
var dataStr = img.getAttributeNS(XLINKNS, 'href'); //data:image/jpeg;base64,xxxxxx
//dataStr = dataStr.replace(/data:.+;base64,/i, ''); //Strip data: prefix - tried both with & without
//dataStr = window.atob(dataStr); //tried both with & without
bb.append(dataStr);
var blob = bb.getBlob
img.setAttributeNS(XLINKNS, 'xlink:href', window.URL.createObjectURL(blob)); //blob:xxx
Вместо этого я получаю искаженное изображение jpeg.
ТИА.