You can base64 encode the image and send it as a string. You would do something along these lines client side:
var the_file = new Blob([window.atob(base_64_string)], { type: 'image/png', encoding: 'utf-8' });
var fr = new FileReader();
fr.onload = function (oFREvent) {
var v = oFREvent.target.result.split(',')[1];
v = atob(v);
var good_b64 = btoa(decodeURIComponent(escape(v)));
img.src = "data:image/png;base64," + good_b64;
img.onload = function () {
//do stuff here
};
};
fr.readAsDataURL(the_file);
As @SLaks hinted at in his comment, consider using a CORS header for your endpoint instead of jsonp, but not necessary.
Not sure what your use case is, but why not just use a link to the image?