我遇到了以下问题:
我正在使用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>
它完美地显示了我的名字。