2015-11-19 46 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')); 
});