public async Task <IActionResult> Change(ProfileIndexVM userdata) { Guid?userId = CheckSession(); if (userId == null) { return(new RedirectToActionResult("Login", "Account", null)); } string uri = $"{baseuri}/users/{userId}"; User user = await WebApiHelper.GetApiResult <User>(uri); string responseFileName = ""; ImageUploadData imageUploadData = GetImageUploadData(userdata); if (imageUploadData == null) { return(new RedirectToActionResult("Index", "Profile", null)); } using (HttpClient httpClient = new HttpClient()) { HttpContent fileStreamContent = new StreamContent(imageUploadData.Image); fileStreamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "file", FileName = imageUploadData.FileName }; fileStreamContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); var formData = new MultipartFormDataContent { fileStreamContent }; HttpResponseMessage response = await httpClient.PostAsync(imageUploadData.Uri, formData); responseFileName = await response.Content.ReadAsStringAsync(); } if (responseFileName != "") { if (userdata.ProfilePicture == null) { user.CoverPicture = responseFileName; } else { user.ProfilePicture = responseFileName; } uri = $"{baseuri}/users/update"; User updatedProfile = await WebApiHelper.PutCallAPI <User, User>(uri, user); } return(new RedirectToActionResult("Index", "Profile", null)); }
public ImageUploadData GetImageUploadData(ProfileIndexVM userdata) { ImageUploadData imageUploadData = new ImageUploadData(); if (userdata.ProfilePicture == null && userdata.UploadedCoverImage == null) { return(null); //kan gebeuren als de user de html wijzigt } if (userdata.CoverPicture == null && userdata.UploadedProfileImage == null) { return(null); //kan gebeuren als de user de html wijzigt } if (userdata.ProfilePicture != null && !userdata.UploadedProfileImage.ContentType.Contains("image")) { return(null); } if (userdata.CoverPicture != null && !userdata.UploadedCoverImage.ContentType.Contains("image")) { return(null); } if (userdata.ProfilePicture != null && userdata.UploadedProfileImage.Length > 3145728) { return(null); //3 MB } if (userdata.CoverPicture != null && userdata.UploadedCoverImage.Length > 3145728) { return(null); //3 MB } if (userdata.ProfilePicture == null) { imageUploadData.Uri = $"{baseuri}/users/CoverPicture"; imageUploadData.FileName = userdata.UploadedCoverImage.FileName; imageUploadData.Image = userdata.UploadedCoverImage.OpenReadStream(); } else { imageUploadData.Uri = $"{baseuri}/users/ProfilePicture"; imageUploadData.FileName = userdata.UploadedProfileImage.FileName; imageUploadData.Image = userdata.UploadedProfileImage.OpenReadStream(); } return(imageUploadData); }