在AngularJS中,如果你想要实现多个文件上传,可以使用第三方库或自定义指令来解决这个问题。
以下是一个使用第三方库ng-file-upload的示例:
首先,确保已经引入了ng-file-upload库。
在HTML模板中,使用input标签来创建文件上传控件,并添加ngf-multiple指令来实现多文件上传的功能:
在控制器中,定义一个数组来存储上传的文件:
$scope.files = [];
然后,在提交表单时,可以通过遍历文件数组来处理每个文件的上传:
$scope.uploadFiles = function() {
angular.forEach($scope.files, function(file) {
file.upload = Upload.upload({
url: '/upload',
data: {file: file}
});
file.upload.then(function(response) {
// 文件上传成功的处理逻辑
}, function(response) {
// 文件上传失败的处理逻辑
});
});
};
在上面的示例代码中,$scope.uploadFiles
函数会遍历$scope.files
数组,并使用ng-file-upload的Upload服务来进行文件上传。通过该服务的upload
方法,你可以指定文件上传的URL和其他参数。然后,你可以使用then
方法来处理文件上传的成功和失败回调。
这样,你就可以实现多文件上传的功能了。
希望这个示例对你有帮助!