从angular服务调用将输入类型文件发布到server node.js

从angular服务调用将输入类型文件发布到server node.js,node.js,angularjs,formidable,Node.js,Angularjs,Formidable,我有简单的多部分formdata <form action="/upload" enctype="multipart/form-data" method="post"> <span class="btn btn-file"> <input type="file" name="file" ng-model="file"/> <span class="btn btn-primary" ng-click="uploa

我有简单的多部分formdata

<form action="/upload" enctype="multipart/form-data" method="post">
      <span class="btn btn-file">
        <input type="file" name="file" ng-model="file"/>
        <span class="btn btn-primary" ng-click="upload()">Upload</span>
      </span>
</form>
此调用从angular controller点击后端,如下所示

$scope.upload = function(){
    console.log($scope.file);
    FileUpload.post(function(){
    });
}
我不确定如何发布文件提交,以便节点可以捕获它。另外,$scope.file未定义


请帮我解决这个问题。

对于angularjs的文件上传有一个很好的指导,请尝试使用它

service.factory('FileUpload', function ($resource) {
    return $resource('/upload', {}, {
        post: {method: 'POST'}
    });
});
$scope.upload = function(){
    console.log($scope.file);
    FileUpload.post(function(){
    });
}