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()); }
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)); }
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" })); }