From AngularJS side you need to post your data as FormData()
and append your files to this form.
HTML
<input type="file" id="inputFile" name="inputFile" >
JS
var formData = new FormData();
var selectedFiles = $("#inputFile").get(0).files
formData.append('DocumentFile', selectedFiles[0]);
$http.post(serviceUrl, formData, {
headers: {
'Content-Type': undefined
}
}).then(function successCallback(response) {
// on success
}, function errorCallback(response) {
// on error
});
And from Web API side you can get these files from HttpContext.Current.Request.Files
[HttpPost]
public IHttpActionResult AddFile()
{
var request = HttpContext.Current.Request;
if (request.Files.Count > 0)
{
for (int i = 0; i < request.Files.Count; i++)
{
Stream stampStream = request.Files[i].InputStream;
Byte[] stampBytes = new Byte[stampStream.Length];
// Save only file name to your database
}
}
return Ok();
}