だから、私は、生成base64Img
の初めにdata:image/png;base64,
を削除したいけれどもbase64でエンコードされたイメージの開始文字列を削除するには?
function toDataUrl(url, callback) {
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = function() {
var reader = new FileReader();
reader.onloadend = function() {
callback(reader.result);
}
reader.readAsDataURL(xhr.response);
};
xhr.open('GET', url);
xhr.send();
}
toDataUrl('img/no_image_icon.png', function(base64Img) {
console.log(base64Img); // remove the data:image/png;base64, in the beginning
});
このコードは動作します。.. base64のいずれかに画像を符号化するためのコードを得ました。また、関数の外部ではどのようにアクセスできますか?同様の例
toDataUrl('img/no_image_icon.png', function(base64Img) {
var accessOutside = base64Img; // remove the data:image/png;base64, in the beginning
});
var newVariable = accessOutside;
何か助けていただければ幸いです。
[非同期呼び出しからの応答を返すにはどうすればよいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call/14220323 #14220323)そして、なぜそのヘッダを削除したいのですか? – Thomas
@トーマス私のフロントエンドコード(角)で私は既にその1つを持っているので – FewFlyBy
最初に:あなたが既に角度を使っているなら、[その約束](https://docs.angularjs.org/api/ng)を見てください。/service/$ q)*(一般的な約束)*、そして私がリンクしたスレッド(http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from -an-asynchronous-call/14220323#14220323)を使用すると、非同期問題の解決に役立ちます。第2回:フロントエンドコードにヘッダーを追加していますか?そうしないと、これらの2つの部分を一緒に緊密に結びつけます。したがって、任意のImageへのURLではなく、フロントエンドはbase64でエンコードされたPNGでのみ動作します。これはどのように制限されていますか? – Thomas