public async Task <UploadAvatarUserResponse> ChangeAvatar(UploadAvatarRequest request) { byte[] imageBytes = Convert.FromBase64String(request.Content); //Save the Byte Array as Image File. string path = Directory.GetParent(Environment.CurrentDirectory).FullName; string fileDirectory = Path.Combine(path, "Web.Api", "FileInstance"); string filePath = Path.Combine(fileDirectory, request.FileName + "." + request.FileExtension); File.WriteAllBytes(filePath, imageBytes); var fileId = request.FileId; //await _context.FileInstance.AddAsync(new FileInstance((Guid)fileId, request.FileName, request.FileExtension, "Some path" )); var updatedFileInstance = await _context.FileInstance.FirstOrDefaultAsync(i => i.Id == fileId); if (updatedFileInstance != null) { _context.Attach(updatedFileInstance); updatedFileInstance.FileName = request.FileName; updatedFileInstance.Extension = request.FileExtension; } var success = await _context.SaveChangesAsync(); return(new UploadAvatarUserResponse(success > 0, null)); }
public async Task <ActionResult> ChangeAvatar([FromBody] UploadAvatarRequest request) { if (!ModelState.IsValid) { // re-render the view when validation failed. return(BadRequest(ModelState)); } return(Ok(await _userRepository.ChangeAvatar(request))); }
public async Task <UploadAvatarUserResponse> UploadFirstAvatar(UploadAvatarRequest request) { byte[] imageBytes = Convert.FromBase64String(request.Content); //Save the Byte Array as Image File. string path = Directory.GetParent(Environment.CurrentDirectory).FullName; string fileDirectory = Path.Combine(path, "Web.Api", "FileInstance"); string filePath = Path.Combine(fileDirectory, request.FileName + "." + request.FileExtension); File.WriteAllBytes(filePath, imageBytes); Guid fileId = Guid.NewGuid(); //Save to database await _context.FileInstance.AddAsync(new FileInstance(fileId, request.FileName, request.FileExtension, fileDirectory)); await _context.UserFileInstance.AddAsync(new UserFileInstance(request.UserId, fileId)); var success = await _context.SaveChangesAsync(); return(new UploadAvatarUserResponse(fileId, success > 0, null)); }