Пример #1
0
        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);
        }
Пример #2
0
        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));
            }
        }