私は画像のbase64文字列を持っています。これをObject URLに変換するにはどうすればよいですか?目的は、非常に大きなbase64文字列の代わりにDOMにBLOB URLを挿入することで、私のsvg-editorが高速化するかどうかを試してみることです。これは、SVGの編集にのみ使用されます。保存すると、オブジェクトURLはbase64に再度変換されます。クロム/ ffにcreateObjectURLを使用したオブジェクトURIへのデータURI
イメージサイズは、通常0.5 MB以上です。
私が試した:
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画像です。
TIA。上記の質問の作品に
のようにそれを使うのか?私はまた、私はあまりにも多くのデータのURLを持っているときに問題に遭遇している、私はオブジェクトのURLとしてそれらを維持するとうまくいくのだろうかと思います。 –