In new browsers, you can get MUCH LARGE images and better performance using the async method canvas.toBlob(callback, mimeType, qualityArgument);
see mdc article for details and compatibility (mainly IE10 +)
blob , DataURL , , , .
blob dataURL, FileReader.readAsDataURL(blob)