private async Task <string> SalveArquivoAsync(LeilaoImagemRequest model) { var extensao = model.Imagem.FileName.Split("."); string novoNome = Guid.NewGuid().ToString() + "." + extensao[1]; string diretorio = "/" + _configuration.GetValue <string>("DiretorioImagens"); string novoNomeDiretorio = diretorio + novoNome; if (!Directory.Exists(_environment.WebRootPath + diretorio)) { Directory.CreateDirectory(_environment.WebRootPath + diretorio); } if (System.IO.File.Exists(_environment.WebRootPath + novoNomeDiretorio)) { throw new ArgumentException("Um arquivo com este novo já existe!"); } using (FileStream filestream = System.IO.File.Create(_environment.WebRootPath + novoNomeDiretorio)) { await model.Imagem.CopyToAsync(filestream); filestream.Flush(); } return(_configuration.GetValue <string>("DiretorioImagens") + novoNome); }
public async Task <IActionResult> Incluir([FromForm] LeilaoImagemRequest model) { try { if (ModelState.IsValid) { string arquivo = await this.SalveArquivoAsync(model); var usuarioAutenticado = new UsuarioAutenticado(User); var leilaoImagem = await _leilaoImagemService.InsertAsync(model.ToLeilaoImagem(usuarioAutenticado.Id, arquivo)); return(Created(leilaoImagem.Url, new LeilaoImagemResponse(leilaoImagem, _urlHelper, usuarioAutenticado))); } return(BadRequest(ErrorResponse.FromModelState(ModelState))); } catch (Exception e) { return(BadRequest(ErrorResponse.From(e))); } }