在 AngularJS 中上传文件

Upload file in AngularJS

我正在尝试使用 angularJS 上传文件。问题是我想遵循良好的做法并在我的控制器中使用这样的代码:

var vm = this;
vm.uploadFile = uploadFile;

但是我很难上传文件,因为我找到的每个答案都是基于 $scope 的,我无法修改它以使其与 vm 一起工作。

如何使以下代码与 vm 一起工作?

<input type="file" name="file"  onchange="angular.element(this).scope().uploadFile(this.files)">

在我的controller.js

 function uploadFile(files) {
    //working code proccessing file
  };

我怎样才能提供 html 工作?

我建议您使用现成的样板,例如 ng-file-upload。在我们的项目中,它就像一个魅力:

Npm

https://www.npmjs.com/package/ng-file-upload

演示

https://angular-file-upload.appspot.com/