Enviar FormData con otro campo en Angular

Tengo un formulario con dosinput text y unoupload. Tengo que enviarlo al servidor pero tengo algún problema para concatenar el archivo con el texto. El servidor espera esta respuesta:

"title=first_input" "text=second_input" "file=my_file.pdf"

Este es elhtml:

<input type="text" ng-model="title">
<input type="text" ng-model="text">
<input type="file" file-model="myFile"/>
<button ng-click="send()">

Este es elControlador:

$scope.title = null;
$scope.text = null;

$scope.send = function(){
  var file = $scope.myFile;
  var uploadUrl = 'my_url';
  blockUI.start();
  Add.uploadFileToUrl(file, $scope.newPost.title, $scope.newPost.text, uploadUrl);
};

Este es elDirectiva fileModel:

  return {
restrict: 'A',
link: function(scope, element, attrs) {
  var model = $parse(attrs.fileModel);
  var modelSetter = model.assign;

  element.bind('change', function(){
    scope.$apply(function(){
      modelSetter(scope, element[0].files[0]);
    });
  });
}
};

Y este es elServicio que llaman al servidor:

  this.uploadFileToUrl = function(file, title, text, uploadUrl){
   var fd = new FormData();
   fd.append('file', file);
   var obj = {
     title: title,
     text: text,
     file: fd
   };
   var newObj = JSON.stringify(obj);

     $http.post(uploadUrl, newObj, {
       transformRequest: angular.identity,
       headers: {'Content-Type': 'multipart/form-data'}
     })
  .success(function(){
    blockUI.stop();
  })
  .error(function(error){
    toaster.pop('error', 'Errore', error);
  });
}

Si intento enviar, recibo el error 400, y la respuesta es:Multipart form parse error - Invalid boundary in multipart: None. La carga útil de la solicitud es:{"title":"sadf","text":"sdfsadf","file":{}}

Respuestas a la pregunta(5)

Su respuesta a la pregunta