public ContentResult FileUpload() { ControllerContext context = this.ControllerContext; //Get users current id and store image var userId = User.Identity.GetUserId(); var virtualImagePath = System.Configuration.ConfigurationManager.AppSettings["VirtualImagePath"]; var actualImagepath = Server.MapPath(virtualImagePath); // string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/"; string filename = Path.GetFileName(Request.Files[0].FileName); string directory = string.Concat(actualImagepath, "\\Users\\", userId, "\\profile\\"); if (!Directory.Exists(directory)) Directory.CreateDirectory(directory); Request.Files[0].SaveAs(Path.Combine(directory, filename)); //Add new image to database and set all existing in use to false. var virtualProfileImagePath = string.Concat(virtualImagePath, "/users/", userId, "/profile/", Request.Files[0].FileName); AspNetUserImagesProvider _aspNetUserImagesProvider = new AspNetUserImagesProvider(); var newImage = new AspNetUserImages(); newImage.UserImage = virtualProfileImagePath; newImage.UserId = userId; newImage.IsInUse = false; _aspNetUserImagesProvider.Add(newImage); ProfileUploadResult result = new ProfileUploadResult(); result.ImageId = newImage.AspNetUserImageId; result.ImagePath = newImage.UserImage; var json = new JavaScriptSerializer().Serialize(result); return Content(json, "text/json"); }