Looks to me like the downloadFileFromUrl function is returning a *promise*, 
not the data that you're interested in (results.data).  Remember, $http.get 
kicks off an asynchronous action - so it will return a promise that it will 
resolve to a value at some point in the future.  You could do something 
like this:

function downloadFileFromUrl(url) {
  $http.get(url).then(function(result) {
    $scope.img = 'data:image/jpg...';
  });
}



On Thursday, September 10, 2015 at 10:28:39 AM UTC-6, Manjunath 
Doddavenkatappa wrote:
>
> Hi,
>
> I am trying to covert data of an image to base64 encoding, and the image 
> itself is downloaded using http.get.
>
> For some reason, base64.encode(image_data) returns invalid data. I tried 
> all the following, but no luck: 
>
> image_data = downloadFileFromUrl(URL); // the function is defined below
> $scope.img = 'data:image/jpg;base64,' + $base64.encode(image_data);
> $scope.img = 'data:image/jpg;base64,' + btoa(image_data);
> $scope.img = 'data:image/jpg;base64,' + 
> btoa(unescape(encodeURIComponent(image_data)));
>
> In html, we have 
> <img ng-src="{{img}}"/>
>
> Download function is:
> downloadFileFromUrl = function(url) {
>         return $http.get(url).then(function(results) { 
>             return results.data;
> }
>
> Any help is appreciated! 
>
> Thank!
> Manju
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to