AngularJS Загрузка изображения с помощью ng-upload

Я пытаюсь загрузить файл в AngularJS с помощью ng-upload, но у меня возникают проблемы. Мой HTML выглядит так:

<div class="create-article" ng-controller="PostCreateCtrl">
        <form ng-upload method="post" enctype="multipart/form-data" action="/write" >
            <fieldset>
                <label>Category</label>
                <select name="category_id" class="">
                    <option value="0">Select A Category</option>
                    <?php foreach($categories as $category): ?>
                        <option value="<?= $category -> category_id; ?>"><?= $category -> category_name; ?></option>
                    <?php endforeach; ?>
                </select>

                <label>Title</label>
                <input type="text" class="title span5" name="post_title"
                       placeholder="A catchy title here..."
                       value="<?= $post -> post_title; ?>" />

                <label>Attach Image</label>
                <input type="file" name="post_image" />

                 <a href='javascript:void(0)'  class="upload-submit: uploadPostImage(contents, completed)" >Crop Image</a>

                <label>Body</label>
                <div id="container">
                <textarea id="mytextarea" wrap="off" name="post_content" class="span7" placeholder="Content..."><?= $post -> post_content; ?></textarea>
                </div>
                <div style='clear:both;'></div>
                <label>Preview</label>
                <div id='textarea-preview'></div>

            </fieldset>
            <div class="span7" style="margin: 0;">
                <input type="submit" class="btn btn-success" value="Create Post" />
            <input type="submit" class="btn btn-warning pull-right draft" value="Save as Draft" />
            </div>

        </form>
    </div>

И мой контроллер JS выглядит так:

ClabborApp.controller("PostCreateCtrl", ['$scope', 'PostModel',
function($scope, PostModel) {

    $scope.uploadPostImage = function(contents, completed) {
        console.log(completed);
        alert(contents);
    }

}]);

Проблема, с которой я сталкиваюсь, заключается в том, что при ударе обрезанного изображения он выполняет uploadPostImage и загружает всю форму. Не желаемое поведение, но я могу заставить его работать. Большая проблема заключается в том, что в параметрах «содержимого» функции uploadPostImage всегда не определено, даже если параметр «завершен» возвращается как истинный.

Цель состоит в том, чтобы загрузить только изображение для обрезки. Что я делаю не так в этом процессе?

Ответы на вопрос(3)

Ваш ответ на вопрос