Загрузить изображение для анализа с помощью формы загрузки AngularJS

0

Простой вопрос, как создать форму загрузки angularjs на Parse.com?
Я пытаюсь создать форму загрузки изображения профиля, используя этот qaru.site/questions/9543840/..., но он не работает

HTML-код

<div class="col-lg-9"  ng-controller="manageProfile">
    <form style="margin-top:80px">
        <div class="form-group">
            <label>Browse for Picture</label>
            <input type="file" name="profPic" id="profPic"></input>
        </div>
        <button class="btn btn-md" ng-click="uploadPicture()">Upload Picture</button>
    </form>
</div>

Код AngularJS

profile.controller('manageProfile', ['$scope', function($scope) {
$scope.uploadPicture = function() {
    var fileUploadControl = $("#profPic")[0];
    var file = fileUploadControl.file[0];
    var name = file.name;
    var parseFile = new Parse.File(name, file);

    parseFile.save().then(function() {
        var currentUser = Parse.User.current();
        currentUser.set("profilePicture", parseFile);
        currentUser.save();
    }, function(error) {
        alert("Error: " + error.code + ' ' + error.message);
    });
}

Я получил эту ошибку при попытке загрузить

error: fileuploadcontrol is undefined
  • 0
    Покажите код, который вы пробовали.
  • 0
    Также посмотрите на parse-angular-patch
Показать ещё 1 комментарий
Теги:
parse.com
upload

1 ответ

0

В AngularJS элементы ввода используют директиву ng-model для привязки ввода к переменной области.

<div class="col-lg-9"  ng-controller="manageProfile">
    <form style="margin-top:80px">
        <div class="form-group">
            <label>Browse for Picture</label>
               <!-- add ng-model directive -->
            <input ng-model="fileName" type="file" name="profPic" id="profPic"></input>
        </div>
        <button class="btn btn-md" ng-click="uploadPicture()">Upload Picture</button>
    </form>
</div>

В контроллере:

profile.controller('manageProfile', ['$scope', function($scope) {
    $scope.uploadPicture = function() {
        /* replace this
        var fileUploadControl = $("#profPic")[0];
        var file = fileUploadControl.file[0];
        var name = file.name;
        */
        //Use ng-model variable
        var name = $scope.fileName;
        //
    };

}]);

Для получения дополнительной информации о ng-model см. Справочник API Directua для ng-модели.

  • 1
    готово изменить код так же, как ответ, но все равно получил Error: this._source is undefined

Ещё вопросы

Сообщество Overcoder
Наверх
Меню