Javascript 将文件提交到ng文件上载时,文件未定义
我有以下问题: 我正在使用ng文件上载将文件发布到我的后端。 我已经设置了当有人按下a按钮时通过ng显示下降区域。 这是完美的作品,我可以选择一个文件,我也看到它的名称一样,在演示ng文件上传。 用户现在应该能够在点击save时上载此文件,但每次他这样做时都会告诉我文件未定义 这里是我的上传和保存方法: 上传:Javascript 将文件提交到ng文件上载时,文件未定义,javascript,angularjs,file-upload,Javascript,Angularjs,File Upload,我有以下问题: 我正在使用ng文件上载将文件发布到我的后端。 我已经设置了当有人按下a按钮时通过ng显示下降区域。 这是完美的作品,我可以选择一个文件,我也看到它的名称一样,在演示ng文件上传。 用户现在应该能够在点击save时上载此文件,但每次他这样做时都会告诉我文件未定义 这里是我的上传和保存方法: 上传: $scope.upload = function (files) { console.log($scope.files); if ($scope.files
$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));
});
}
}
};
我想不出为什么文件应该是空的,因为ng在前端重复工作
<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>
将PDF或图像放到此处或单击上载
此浏览器不支持文件拖放
- {{{f.name}
它完美地显示了我的名字。不要用
ng if
设置放置区域。使用ng show
不会创建新的作用域。我也用ng show尝试过,但没有修复。此外,整个区域位于另一个ng if内。您认为使用ng show是一个问题还是一个建议?我知道ng show不会创建另一个作用域是的,我确信这可能是问题所在,因为ng if only,如果您确实想继续使用ng if,那么您需要使用$parent。
对于所有内部作用域变量,我不认为这是问题所在。我有一个按钮,它使用触发器功能,通过ng if显示我网站上的一个区域。该区域有一个保存按钮,用于触发其他数据类型的POST或GET。唯一的问题是文件上传。如果工作正常,我只需要在这个ng中发送一个或获取一个JSON。您能尝试执行ng model=“$parent.files”
<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>