img要素からbase64文字列に変換

img要素からbase64文字列に変換する場合は、次のようにすることで可能です。

  • ※ canvasを使用していますので、IE8以下には対応していません。

関数定義

JavaScript

var imageToBase64 = function(imgElement, mimeType) {
	var canvas  = document.createElement('canvas'),
	    context = canvas.getContext('2d');

	if (!imgElement || typeof mimeType !== 'string') return '';

	mimeType = mimeType.replace(/\/png$/, '/octet-stream');

	canvas.width  = imgElement.width;
	canvas.height = imgElement.height;

	context.drawImage(imgElement, 0, 0);

	var base64String = canvas.toDataURL(mimeType);

	canvas.clearRect(0, 0, 60, 60);

	return base64String;
};

使い方

引数

引数名 説明
第一引数
必須
imgElement element または node 対象のimg要素
第二引数
必須
mimeType string 画像のMIMEタイプ

JavaScript

var imgElement   = document.getElementsByTagName('img')[0],
    base64String = imageToBase64(imgElement, 'image/jpeg');

console.log(base64String);

JavaScript逆引きリファレンス一覧へ戻る