示例#1
0
        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();
        }
示例#2
0
        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());
        }