在单个输入中选择多个文件的事件

时间:2014-01-09 09:23:00

标签: javascript angularjs file-upload

到目前为止,我使用

从单个输入中获取文件(单个文件)
$scope.$on("fileSelected", function (event, args) {

            $scope.$apply(function () {            


                $scope.files.push(args.file);
            });
        });

我想知道我是否使用“多个”文件输入,我仍然可以使用事件“fileSelected”获取文件“???”

<input type='file' id='tempFiles' multiple></input>

如果可以的话,我可以做一些像

这样的事情
$scope.$on("fileSelected", function (event, args) {
                                    $scope.$apply(function () {            


                $scope.files.push(args.files);
            });         });

1 个答案:

答案 0 :(得分:1)

您可以使用Daniel Afarid's Angular File Upload

控制器

$scope.selectedFiles = [];
$scope.dataUrls = [];
$scope.model = 'test model';

$scope.onImageSelect = function($files) {

    $scope.selectedFiles['image'] = $files[0];


    var $file = $files[0];
    if (window.FileReader && $file.type.indexOf('image') > -1) {
        var fileReader = new FileReader();
        fileReader.readAsDataURL($files[0]);

        fileReader.onload = function(e) {
        $timeout(function() {
        $scope.dataUrls['image'] = e.target.result;
            });
        }
    }    

}

$scope.save_image =  function(){

        $upload.upload({
                 data:$scope.model
                  url: 'the/url',
                  file: $scope.selectedFiles['image']

        }).then(//success and error callbacks);


    }

查看     

                                     <input type="file" ng-file-select="onImageSelect($files)">
                                <br />
                                <img ng-show="dataUrls['image']" ng-src="{{dataUrls['image']}}">