Facebookでログインするたびに、ユーザーのFacebookプロフィール画像を取得しています。私はURLからベース64に画像を変換したい。ユーザーがビュー(home.view)内のプロフィール画像を引き続き表示できるようにしながら、これを実行する最善の方法は何ですか?現時点では、URLを直接参照しています。URLからbase64に抽出された画像を変換する
これは、これまでの私のコードです:
facebook.service.js
function FacebookService($http, config) {
this.getUserPicture = function(userId, token) {
return $http({
method: 'GET',
url: 'https://graph.facebook.com/' + userId + '/picture?type=large&redirect=false'
})
}
}
home.controller.js
function HomeController($scope, $cordovaNativeStorage, FacebookService, $ionicLoading) {
if (window.cordova) {
// Get Facebook access token
$cordovaNativeStorage.getItem("facebookAccessToken").then(function(value) {
$scope.facebookAccessToken = value
// Get Facebook user picture (currently stored as a URL, would want to store it as a base 64 string which can be displayed as an image
FacebookService.getUserPicture($scope.facebookUserData.id).then(function(dataResponse) {
$scope.facebookUserPicture = dataResponse.data;
// Save Facebook user picture
$cordovaNativeStorage.setItem("facebookUserPicture", $scope.facebookUserPicture).then(function() {}, function(error) {
console.error("Unable to cache user data: " + result);
$ionicLoading.show({
template: 'Unable to cache user data',
duration: 1500
})
});
}, function(error) {
console.log(error.data.error.message)
})
}, function(error) {
console.log(error.data.error.message)
})
}
};
home.view.js
<img class="icon icon-home img-circle" ng-src="{{ facebookUserPicture.data.url }}">
64が提供されていますが、なぜベースにのIndexedDBとサンドボックスファイルシステムAPIです...ありさあなたは通常のリンクに戻って変換したいですか? –
アプリ側またはウェブビューで元に戻しますか? –
ああ、申し訳ありませんが、私は誤っていると思うので、私はそれをURLとして見ることができるイメージに変換することを意図していましたので、文字列を画面上に写真としてユーザに表示することができます。混乱の謝罪 – methuselah