如何在不使用自定义指令的情况下从AngularJS向Sails发送文件?
所以我需要上传一个图像到服务器上。现在,它只适用于通过HTML发出的POST请求。但是在上传之前,我需要发送其他数据和执行其他操作,因此我希望使用如何在不使用自定义指令的情况下从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);
$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});
});
}