I've got this method in AccountController
[HttpPut]
[Route("UserInfo")]
public async Task<IHttpActionResult> SetUserInfo(UserViewModel model)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }
    var user = UserManager.FindByName(User.Identity.Name);
    user.UserName = model.UserName;
    user.Email = model.Email;
    user.FullName = model.FullName;
    user.Skype = model.Skype;
    user.PhoneNumber = model.PhoneNumber;
    SaverPhotos.SavePhoto(model);
    IdentityResult result = await UserManager.UpdateAsync(user);
    if (!result.Succeeded)
    {
        return GetErrorResult(result);
    }
    return Ok();
}
public class UserViewModel
{
    public string UserName { get; set; }
    public string FullName { get; set; }
    public string Email { get; set; }
    public string Skype { get; set; }
    public string PhoneNumber { get; set; }
    public HttpPostedFileBase Avatar { get; set; }
}
And this ajax code in view:
$.ajax({
    type: 'PUT',
    contentType: false,
    processData: false,
    url: '/api/account/UserInfo',
    data: data,
    beforeSend: function (xhr) {
        var token = window.app.model.get('tokenInfo');
        xhr.setRequestHeader("Authorization", "Bearer " + token);
    },
    success: function (response) {
        alert("Successfully saving info!");
    },
    error: function (response) {
        alert('Error');
    }
});
In form a lot of code, but file input looks:
<input type="file" name="Avatar" accept="image/png, image/jpeg, image/gif" id="profileAvatar"/>
And when i'm trying to save this form i get the error with code 415. Without contentType and proccessType with 'false' error was 500, but in debug mode I did not even get in method SetUserInfo. UserViewModel just null. Why? In the internet a lot of people says writing the UploadFileController to saving the images, but how then i set this image with user? Help please.
 
    