如何使用AngularJS上传文件?

时间:2013-11-22 16:54:36

标签: angularjs file-upload

这是我的HTML:

<button class="btn btn-default" ng-click="selectFile()">Choose file</button>
<input type="file" accept="image/*" name="file" style="display: none;" id="photo-file" fileupload="uploadme">

在我的控制器中,我有:

$scope.selectFile = function() {
  $("#photo-file").click();
}

我还创建了一个指令:

angular.module("MyApp")
  .directive("fileupload", function($rootScope) {
    return {
      scope: {
        'fileupload': "="
      },
      link: function(scope, element, attributes) {
        return element.bind("change", function(changeEvent) {
          return scope.$apply(function() {
            return scope.fileread = changeEvent.target.files[0];
          });
        });
      }
    };
  }
);

但缺少一些东西。当我选择要上传的文件时,我希望它在控制器中运行一个功能。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

如果您对此感到满意,我建议您使用外部模块。 Here是我尝试过的,并且非常满意。