public async Task Edit(int id, EditBlogInput input, string imageFolderPath) { var blog = await Get(id); var sources = input.Content.GetBase64Sources(); var extension = ""; byte[] imageBytes = null; string imageName = ""; foreach (var src in sources) { extension = src.GetExtensionFromBase64ImageSource(); imageBytes = Convert.FromBase64String(src.GetValueFromBase64ImageSource()); imageName = $"{Guid.NewGuid()}.{extension}"; Upload.ByteArrayToFile($"{imageFolderPath}/{imageName}", imageBytes); input.Content = input.Content.Replace(src, $"{_configuration.GetSection("Domain").Value}/{Blog.IMAGE_PATH}/{imageName}"); } if (input.Image != null) { blog.Image = await Upload.UploadImageAsync(input.Image, imageFolderPath); } blog.Title = input.Title; blog.Description = input.Description; blog.Content = input.Content; blog.SeoUrl = input.SeoUrl; blog.MetaTitle = input.MetaTitle; blog.MetaDescription = input.MetaDescription; await _blogService.SaveChangesAsync(); }
public async Task <IActionResult> Edit(int id, [FromForm] EditBlogInput input) { var absolutePath = Path.Combine(_webHostEnvironment.WebRootPath, Blog.IMAGE_PATH); await _blogService.Edit(id, input, absolutePath); return(Ok()); }