我需要向用户添加照片,通过网络界面进行操作,我将照片集设置为名为photo
的字段,但是如果我尝试通过移动应用程序以编程方式执行相同的操作它不起作用。
photonativePath
是来自相机或图库的照片网址。
Cloud.Users.update({
email: 'joeuser@mycompany.com',
first_name: 'joe',
last_name: 'user',
photo : Titanium.Filesystem.getFile(photonativePath),
custom_fields: {
favorite_color: 'blue',
age: 25
}
}, function (e) {
if (e.success) {
var user = e.users[0];
alert('Success:\n' +
'id: ' + user.id + '\n' +
'first name: ' + user.first_name + '\n' +
'last name: ' + user.last_name);
} else {
alert('Error:\n' +
((e.error && e.message) || JSON.stringify(e)));
}
});
答案 0 :(得分:2)
尝试以下方法, 您可以使用openPhotoGallery方法打开photoGallery。这将从图库中打开图像并选择图片。它会在成功回调中更新图片
function openPhotoGallery(){
Ti.Media.openPhotoGallery({
success: function (event){
var image=event.media;
var imgvwTest = Ti.UI.createImageView({
image : image
});
updatePhoto(imgvwTest.toImage());
},
cancel:function(){
Titanium.UI.createAlertDialog({
title:'Error',
message:'An error occured while trying to reference your gallery!'
}).show();
},
error:function(er){
Titanium.UI.createAlertDialog({
title:'Error',
message:'An error occured while trying to reference your gallery!'
}).show();
}
});
}
function updatePhoto(selectedImage){
Cloud.Users.update({
email: 'joeuser@mycompany.com',
first_name: 'joe',
last_name: 'user',
photo : selectedImage.media,
custom_fields: {
favorite_color: 'blue',
age: 25
}
}, function (e) {
if (e.success) {
var user = e.users[0];
alert('Success:\n' +
'id: ' + user.id + '\n' +
'first name: ' + user.first_name + '\n' +
'last name: ' + user.last_name);
} else {
alert('Error:\n' +
((e.error && e.message) || JSON.stringify(e)));
}
});
}
如果您有任何问题,请告诉我