I need upload csv file and parse it.
I can see file in http body request, but when I pass it in the csvreader I can see base64 string like headers:

On client side I use angularjs:
'uploadBulkUsersFile': {
                method: 'POST', url: CONFIG.apiServiceBaseUri + "api/users/bulkUsers",
                headers: {
                     "Content-Type": undefined
                },
                transformRequest: angular.identity,
                withCredentials: true
            },
and call:
var _uploadBulkUsersFile = function (bulkUsersFile) {
    var fd = new FormData();
    fd.append("file", bulkUsersFile);
    return usersResource.uploadBulkUsersFile({}, fd, function (result) {
        return result;
    }).$promise;
};
and on server side I use webapi2:
    if (!Request.Content.IsMimeMultipartContent())
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
    var provider = new MultipartMemoryStreamProvider();
    await Request.Content.ReadAsMultipartAsync(provider);
    foreach (var file in provider.Contents)
    {
        var buffer = await file.ReadAsStreamAsync();
        TextReader textReader = new StreamReader(buffer);
        var csv = new CsvReader(textReader);
        var records = csv.GetRecords<BulkUploadUser>().ToList();
        return Created("DefaultApi", records);
    }
http request payload
------WebKitFormBoundarySKPlgJRINOMnpxVP Content-Disposition: form-data; name="file"
data:application/vnd.ms-excel;base64,RW1haWwsRmlyc3ROYW1lLExhc3ROYW1lDQpwcm9zdG8uZHVkYUBnbWFpbC5jb20yLERlbmlzLER1ZGFpZXYNCnByb3N0by5kdWRhQGdtYWlsLmNvbSxEZW5pcyxEdWRhaWV2DQpwcm9zdG8uZHVkYUBnbWFpbC5jb20yLERlbmlzLER1ZGFpZXYNCg==
------WebKitFormBoundarySKPlgJRINOMnpxVP--
UPDATE
@Ubercode suggest me convert base 64 to string, I made it, but is looks very disgusting:
var buffer = await file.ReadAsStreamAsync();
TextReader textReader = new StreamReader(buffer);
var text = textReader.ReadToEnd();
var indexOfWord = "base64,";
var base64EncodedBytes = System.Convert.FromBase64String(text.Substring(text.IndexOf(indexOfWord) + indexOfWord.Length));
var encoded = System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
TextReader textReader2 = new StringReader(encoded);
var csv = new CsvReader(textReader2);
var records = csv.GetRecords<BulkUploadUser>().ToList();