Полагаю, вы хотите загрузить файл и передать конкретный путь одним запросом на сервер.
Чтобы отправить данные (здесь json с полем 'path') и файл в одном запросе POST, добавьте оба к данным формы:
myApp.service('fileUpload', ['$http', function ($http) {
this.uploadFileToUrl = function(file, uploadUrl){
var fd = new FormData();
fd.append('file', file);
var info = {
"path":"specific path"
};
fd.append('data', angular.toJson(info));
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function(){
})
.error(function(){
});
}
}]);
На стороне сервера это в req.body.data
, поэтомуможно получить, например, так:
upload(req, res, function (err) {
if (err) {
res.json({error_code: 1, err_desc: err});
return;
}
console.log(req.body.data);
res.json({error_code: 0, err_desc: null});
})
В этом руководстве показано, как загрузить только файл.