将文件提交到ng-file-upload时,文件未定义

时间:2015-03-30 21:50:28

标签: javascript angularjs file-upload

我遇到了以下问题:

我正在使用ng-file-upload将文件发布到我的后端。 我已经设置了放置区域以通过ng显示 - 如果有人按下a按钮。 这非常有效我可以选择一个文件,我也可以在ng-file-upload的演示中看到它的名称。 用户现在可以在点击保存时上传此文件,但每次他执行该角度时都会告诉我文件未定义。

这里是我的上传和保存方法:

上载:

  $scope.upload = function (files) {
        console.log($scope.files);
    if ($scope.files && files.length) {
        for (var i = 0; i < files.length; i++) {
            var file = files[i];
            $upload.upload({
                url: base+'/doc/'+$scope.project_id+'?name='+$scope.doc.name,
                                    method: 'POST',
                doc: file
            }).progress(function (evt) {
                var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
                console.log('progress: ' + progressPercentage + '% ' +
                            evt.config.file.name);
            }).success(function (data, status, headers, config) {
                console.log('file ' + config.file.name + 'uploaded. Response: ' +
                            JSON.stringify(data));
            });
        }
    }
};

保存:

$scope.saveDoc = function(){
    console.log($scope.files);
}

我无法想到文件应该为空的原因,因为前端的ng-repeat有效。

<div ng-file-drop ng-file-select ng-model="files" class="drop-box"
      drag-over-class="dragover" ng-multiple="true" allow-dir="true">Drop pdfs or images here or click to upload</div>
  <div ng-no-file-drop>File Drag/Drop is not supported for this browser</div>
  <ul>
    <li ng-repeat="f in files" style="font:smaller">{{f.name}}</li>

它完美地显示了我的名字。

0 个答案:

没有答案