Enviar archivo vía $http
<input type="file" file-input="file">
<button ng-click="uploadFile(file)">Subir</button>
$scope.uploadFile = function(file){
var fd = new FormData();
fd.append( 'file', file[0]);
$http({
method: 'post',
url: 'upload_file',
data: fd,
transformRequest: angular.identity,
headers: {'Content-Type': undefined},
})
.success(function(res) {
console.log(res);
});
}