我在上传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;
});
答案 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);
};