2015-11-19 69 views
0

我有一个很难试图找回我保存图像的URL和写入解析像这样得到的图像URL:无法从解析

var fileUploadControl = document.getElementById('img1'); 
var file = fileUploadControl.files[0]; 
var name = "icon.png"; 
var iconImageFile = new Parse.File(name, file); 
iconImageFile.save().then(function() { 
    var user = Parse.User.current(); 
    var url = iconImageFile.url(); 
    user.set('imagePicture', url); 
    user.save(); 
}); 

这一切工作正常,很正常。而在这一点上我可以检索此值说:

var myImage = Parse.User.current().get('imagePicture'); 
console.log(myImage) // returns 'http://files.parsetfss.com/../icon.png' 

然而,当我刷新页面,用户仍然登录,当我去用同样的方法来获取这一形象:

var myImage = Parse.User.current().get('imagePicture'); 
console.log(myImage) // returns null 

它返回null。我能够获得任何其他用户值,例如电子邮件,用户名,颜色等,但它会挂在图像上;这仅仅是我的知识。这是我忽略的一个非常简单的问题。有任何想法吗?

回答

0

save的呼叫是异步的,这意味着它将在未来的某个时间设置imagePicture。您需要确保在退役imagePicture之前调用了该函数。

+0

Thanks @Olenader!图像已保存。我可以在Parse中看到它的价值。当我用已经登录的用户刷新页面时,似乎没有检索到该值。由于用户已登录,并且图像已从先前的会话中保存,因此它应该不可用? – user3612986

0

我能够解决它。看起来我需要使用取回方法:

Parse.User.current().fetch().then(function (user) { 
    console.log(user.get('imagePicture')); 
});