2016-09-18 1 views
2

Я использую Parse.com и используя Javascript, чтобы попытаться вставить изображение в пустое поле, в то время как другие данные уже установлены, но это не работает , Я не получаю никаких ошибок или чего-либо, чтобы вести меня, что делать. Я слежу за документацией.Загрузка файла в пустое поле с использованием Parse.com, другие данные уже установлены

$("form#fileform").submit(function() { 

    var fileUploadControl = $("#file")[0]; 
    if (fileUploadControl.files.length > 0) { 
     var file = fileUploadControl.files[0]; 
     var name = "photo.jpg"; 
     var parseFile = new Parse.File(name, file); 
     console.log(1); 
    } 

    parseFile.save().then(function() { 
     var user = new Parse.Object("User"); 
     user.set("username", "test"); 
     user.set("avatar", parseFile); 
     user.save(); 
    }, 

    function (error) { 
     // The file either could not be read, or could not be saved to Parse. 
    }); 

    return false; 
}); 

Существует уже учетная запись создается с именем «тест», но имеет поле «аватар» пустой, я хочу, чтобы вставить изображение в пустое поле «аватара», где имя пользователя = «тест». Я не уверен, что я делаю неправильно, может ли кто-нибудь вести меня в правильном направлении?

ответ

0

Я работал над проектом Parse несколько месяцев назад, поэтому у меня больше нет документов.

Во-первых, я не уверен, что вы должны использовать метод save на объекте parseFile. Вы можете сохранить файл напрямую с помощью объекта parse пользователя.

Во-вторых, вы правильно установили объект синтаксиса пользователя, но я не уверен, что user.set("username", "test") запрашивает пользователя с именем пользователя. (может быть, если имя пользователя является уникальным?).

Таким образом, я бы рекомендовал получить пользовательский объект разбора по имени пользователя, а затем установить в нем объект parseFile и save. Я сделал что-то подобное в своем проекте, и он работает.

new Parse.Query('User').equalTo('username', "test").first().then(function(user){ 
    user.set("avatar", parseFile); 
    return user.save(); 
}, function(error) { 
    // Get user failed 
}).then((user) => { 
    // Avatar saved ! 
}), function(error) { 
    // ... or not 
}); 

Надеюсь, что эта помощь.

+0

Это шаг в правильном направлении, я получаю сообщение об ошибке «Вы не можете изменить этого пользователя» – ConorReidd

+0

Установили ли вы несколько [ролей] (https://parseplatform.github.io/Parse-SDK-JS/api /classes/Parse.Role.html)? Или установите другие разрешения, такие как [ACL (CRUD)] (http://blog.parse.com/learn/secure-your-app-one-class-at-a-time/)? – Robiseb

+0

Нет, я очень новичок в Parse, сейчас я изучу его – ConorReidd

 Смежные вопросы

  • Нет связанных вопросов^_^