public async Task <IComandoResultado> Editar([FromForm] FotoModel funcFoto) { EditarFotoAlunoComando comando = new EditarFotoAlunoComando(); var util = new Util(_environment); if (!string.IsNullOrWhiteSpace(funcFoto.base64image)) { byte[] arquivoB64 = Convert.FromBase64String(funcFoto.base64image.Replace("data:image/jpeg;base64,", "")); var diretorio = util.ObterCaminhoArquivo($"{funcFoto.Id}.jpg", "Aluno"); System.IO.File.WriteAllBytes($"{diretorio}", arquivoB64); comando.Id = funcFoto.Id; comando.Foto = $"{funcFoto.Id}.jpg"; } else if (funcFoto.file.Length > 0) { string nomeArquivo = ContentDispositionHeaderValue.Parse(funcFoto.file.ContentDisposition).FileName.Trim('"'); nomeArquivo = util.VerificarNomeArquivoCorreto(nomeArquivo); var extensao = nomeArquivo.Split('.')[1]; using (FileStream output = System.IO.File.Create(util.ObterCaminhoArquivo($"{funcFoto.Id}.{extensao}", "Aluno"))) { var file = new FileInfo(output.Name); await funcFoto.file.CopyToAsync(output); } comando.Id = funcFoto.Id; comando.Foto = $"{funcFoto.Id}.{extensao}"; } var resultado = await _manipuladorFoto.ManipuladorAsync(comando); return(resultado); }
public async Task <IActionResult> EditarFoto([FromForm] FotoModel funcFoto) { try { var util = new Util(_environment); EditarFotoAlunoComando comando = new EditarFotoAlunoComando(); if (funcFoto.file.Length > 0) { string nomeArquivo = ContentDispositionHeaderValue.Parse(funcFoto.file.ContentDisposition).FileName.Trim('"'); nomeArquivo = util.VerificarNomeArquivoCorreto(nomeArquivo); var extensao = nomeArquivo.Split('.')[1]; using (FileStream output = System.IO.File.Create(util.ObterCaminhoArquivo($"{funcFoto.Id}.{extensao}", "Aluno"))) { var file = new FileInfo(output.Name); await funcFoto.file.CopyToAsync(output); } comando.Id = funcFoto.Id; comando.Foto = $"{funcFoto.Id}.{extensao}"; } var resultado = await _manipuladorFoto.ManipuladorAsync(comando); return(Json(resultado)); } catch (Exception ex) { Response.StatusCode = (int)HttpStatusCode.ExpectationFailed; return(Json(ex.Message)); } }