angular-文件上传未发布任何内容
angular-file-upload is not posting anything
我正在尝试使用 angular-文件上传。该文件正在从视图发送到 angular 控制器,但它没有向 apiController 发送任何内容。我做了一个plunker。
它将文件放在
$scope.upload = function (files) {
$scope.$watch('files', function () {
$scope.upload($scope.files);
});
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
$upload.upload({
url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
fields: { 'companyName': $scope.companyName },
file: 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: ' + data);
});
}
}
};
更新
我看到你的成功功能是如何被击中的。我的仍然不是。我的控制台中没有 javascript 错误。我该怎么做才能调试它?
由于 $scope.files 是数组,你需要将 $watch 函数的第三个参数设置为 'true'
$scope.$watch('files', function () {
console.log($scope.files);
$scope.upload($scope.files);
}, true);
请在此处查看工作演示
http://plnkr.co/edit/lGjgTIeVZdgxcS2kaE7p?p=preview
app.controller('MainCtrl', function($scope, $upload) {
$scope.$watch('files', function() {
$scope.upload($scope.files);
});
$scope.upload = function(files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
$upload.upload({
url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
fields: {
'companyName': $scope.companyName
},
file: 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: ');
//response from server
console.log(data);
});
}
}
};
});
我正在尝试使用 angular-文件上传。该文件正在从视图发送到 angular 控制器,但它没有向 apiController 发送任何内容。我做了一个plunker。
它将文件放在
$scope.upload = function (files) {
$scope.$watch('files', function () {
$scope.upload($scope.files);
});
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
$upload.upload({
url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
fields: { 'companyName': $scope.companyName },
file: 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: ' + data);
});
}
}
};
更新
我看到你的成功功能是如何被击中的。我的仍然不是。我的控制台中没有 javascript 错误。我该怎么做才能调试它?
由于 $scope.files 是数组,你需要将 $watch 函数的第三个参数设置为 'true'
$scope.$watch('files', function () {
console.log($scope.files);
$scope.upload($scope.files);
}, true);
请在此处查看工作演示
http://plnkr.co/edit/lGjgTIeVZdgxcS2kaE7p?p=preview
app.controller('MainCtrl', function($scope, $upload) {
$scope.$watch('files', function() {
$scope.upload($scope.files);
});
$scope.upload = function(files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
$upload.upload({
url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
fields: {
'companyName': $scope.companyName
},
file: 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: ');
//response from server
console.log(data);
});
}
}
};
});