如何上传个人资料图片以解析离子框架

时间:2015-09-13 22:42:17

标签: javascript parse-platform ionic-framework image-uploading

我在上传html 5,base64图片时遇到问题需要解析。我有几个用于创建的解析用户和一个profile_pic列。此外,我还包括cordovacamera插件,从图库中选择一个图像并显示它,但我现在想要将图像上传到当前用户profile_pic列。

$scope.takePicture = function(){
    var options = {
      quality: 100,   
      destinationType: Camera.DestinationType.DATA_URL,
      sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
      encodingType: Camera.EncodingType.JPEG
    }
   $cordovaCamera.getPicture(options)
     .then(function(data){
        console.log('camera date: '+ angular.toJson(data));
        $scope.pictureUrl = 'data:image/jpeg;base64,' + data;
        var currentUser = Parse.User.current();
        currentUser.set("profile_pic", data);
        currentUser.save();

     }, function(error) {
        console.log('camera error: '+ angular.toJson(data));
     });
  };

是否可以使用或有其他方法可供我使用? 我能够成功检索列中的图像并显示用户个人资料图片,但我需要一个上传方法。

  var currentUser = Parse.User.current();
    currentUser.fetch().then(function (fetchedUser) {
    var name = fetchedUser.getUsername();
    var loca = fetchedUser.get('location');
    var propic = fetchedUser.get('profile_pic');
    var proimage = propic.url();
    $scope.username = name;
    $scope.location = loca;
    $scope.profilepic = proimage;
});

1 个答案:

答案 0 :(得分:0)

完整来源https://github.com/aaronksaunders/dcww/blob/master/www/js/services.js#L33

但基本概念是创建一个文件对象以保存到用户对象中的特定列。

var imageFile = new Parse.File("mypic.jpg", {base64: _params.photo});
imageFile.save().then(function(_f) {
  var currentUser = Parse.User.current();
  currentUser.set("profile_pic", data);
  return currentUser.save();
}).then(function(_user){
  return _user;
}, function(_error){
  console.log(_error);
};