如何在不使用自定义指令的情况下从AngularJS向Sails发送文件?

如何在不使用自定义指令的情况下从AngularJS向Sails发送文件?,angularjs,file-upload,sails.js,Angularjs,File Upload,Sails.js,所以我需要上传一个图像到服务器上。现在,它只适用于通过HTML发出的POST请求。但是在上传之前,我需要发送其他数据和执行其他操作,因此我希望使用$http.post(…)在Angular控制器中发送请求。我见过一些使用自定义指令的非常复杂的解决方案,但我想知道是否有直接的方法,例如: $scope.uploadPhoto = function(){ var fd = new FormData(); fd.append("uploadFile", $scope.file);

所以我需要上传一个图像到服务器上。现在,它只适用于通过HTML发出的POST请求。但是在上传之前,我需要发送其他数据和执行其他操作,因此我希望使用
$http.post(…)
在Angular控制器中发送请求。我见过一些使用自定义指令的非常复杂的解决方案,但我想知道是否有直接的方法,例如:

$scope.uploadPhoto = function(){
    var fd = new FormData();
    fd.append("uploadFile", $scope.file);
    $http.post('file/upload', fd);
}
工作代码:

HTML:

<form id="uploadForm"
  enctype="multipart/form-data"
  action="/file/upload"
  method="post">
    <input type="file" name="uploadFile" />
    <input type="submit" value="submit"/>
</form>
upload: function  (req, res) {
    var uploadFile = req.file('uploadFile');

    uploadFile.upload(
        { dirname: '../../assets/images',
            saveAs: function(file, cb) {
                cb(null, file.filename);
            }
        }, function onUploadComplete (err, files) {             
            if (err) return res.serverError(err);                                   
            res.json({status:200,file:files});
    });
}