Example #1
0
        public async Task <IActionResult> PutBlogimage([FromRoute] string id, [FromBody] Blogimage blogimage)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != blogimage.ImgUrl)
            {
                return(BadRequest());
            }

            _context.Entry(blogimage).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BlogimageExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #2
0
        public async Task <IActionResult> PostBlogimage([FromBody] Blogimage blogimage)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Blogimage.Add(blogimage);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (BlogimageExists(blogimage.ImgUrl))
                {
                    return(new StatusCodeResult(StatusCodes.Status409Conflict));
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetBlogimage", new { id = blogimage.ImgUrl }, blogimage));
        }
Example #3
0
        public async Task <IActionResult> Upload(IFormCollection paras)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { status = "invalid", data = ModelState }));
            }

            var auth = await HttpContext.AuthenticateAsync();

            if (!auth.Succeeded)
            {
                return(BadRequest(new { status = "not login" }));
            }

            var claim = User.FindFirstValue("User");
            int usid;

            if (!int.TryParse(claim, out usid))
            {
                return(BadRequest(new { status = "validation failed" }));
            }

            var blogPO = new Blog();

            blogPO.IsPublic   = Convert.ToDecimal(paras["is_public"]);
            blogPO.Content    = paras["content"];
            blogPO.CreateTime = DateTime.Now;
            blogPO.Usid       = usid;

            try
            {
                await _context.Blog.AddAsync(blogPO);

                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                return(BadRequest(new
                {
                    status = "Create failed.",
                    data = e.ToString()
                }));
            }

            MatchCollection mc = Regex.Matches(blogPO.Content, @"(?<=\#)[\s\S]*?(?=\#)");

            try
            {
                for (int i = 0; i < mc.Count; i += 2)
                {
                    var tag = await _context.Tag.FirstOrDefaultAsync(x => x.Name == mc[i].ToString());

                    if (tag == null)
                    {
                        tag      = new Tag();
                        tag.Name = mc[i].ToString();
                        await _context.Tag.AddAsync(tag);
                    }
                }
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                return(BadRequest(new
                {
                    status = "Create tag failed.",
                    data = e.ToString()
                }));
            }

            try
            {
                foreach (var v in paras.Files.GetFiles("images"))
                {
                    string FileName   = Guid.NewGuid().ToString() + '.' + v.FileName.Split('.').Last();
                    string pathToSave = "wwwroot/images" + "/" + FileName;
                    using (var stream = System.IO.File.Create(pathToSave))
                    {
                        await v.CopyToAsync(stream);
                    }
                    var BG = new Blogimage();
                    BG.Bid    = blogPO.Bid;
                    BG.ImgUrl = FileName;
                    await _context.Blogimage.AddAsync(BG);

                    await _context.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                return(Ok(new
                {
                    status = "Create image failed.",
                    data = e.ToString()
                }));
            }

            return(Ok(new { status = "ok" }));
        }