It appears your server does not render the image base64 encoded (from what I can see), if you base64 encode the image before sending it back then it should be fine.
Take a look at the below fiddle, the same request is used however I base64 encode the response on the 2nd image before assigning it to the scope (used the technique provided by Getting BLOB data from XHR request).
$http.get('http://lorempixel.com/50/50/', {responseType: "arraybuffer"}).success(function (resp) {
$scope.image = resp;
// Prep the response for Base64 encoding
var uInt8Array = new Uint8Array(resp);
var i = uInt8Array.length;
var binaryString = new Array(i);
while (i--)
{
binaryString[i] = String.fromCharCode(uInt8Array[i]);
}
var data = binaryString.join('');
// Base64 encoded image and assign it to the scope
$scope.image2 = window.btoa(data);
});
Note: that the fiddle will only work in Chrome and I do not suggest doing base64 encoding client side, best to do it on the server.