Después de Varios Intentos y Prueba y Error, Logre tomar una imagen, convertirla, subirla a la Base de datos y logre también bajarla y mostrarla, todo eso OK, no hay problema. Pero la situación se presenta a la hora de hacer EDICIÓN del registro, por que si bien logro mostrar la imagen a la hora de querer editar alguno campos de un registro al volver al Controller, el compilador me reclama que el objeto no esta instanciado (if (file.FileName != null)), lo cual no me deja avanzar en la ejecución del código. Aca les presento el código html, donde muestro y también donde hago la captura de la posible nueva imagen:
<td class="text-center">
<label>Foto</label>
<img src="data:image /jpg; base64, @Model.Imagen" style="max-height: 20vh;
object-fit:contain;" name="Foto" />
</td>
<td class="text-center">
<label>Seleccionar Una Imagen</label>
<div class="input-group flex-nowrap">
<span class="input-group-text" id="addon-wrapping">
<i class="fa-regular fa-image"></i></span>
<input type="file" name="Foto" accept=".gif, .jpg, .jpeg, .png"
aria-describedby="addon-wrapping"
placeholder="Inserte Una Imagen"
title="Seleccione Una Imagen" />
</div>
</td>
y Acá les inserto el código del controller
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult EditEmple(Empleado empleado, IFormFile file)
{
try
{
if (empleado.RutEmpleado != null)
{
if (file.FileName != null)
{
byte[] bytes;
using (Stream fs = file.OpenReadStream())
{
using (BinaryReader br = new(fs))
{
bytes = br.ReadBytes((int)fs.Length);
empleado.Imagen = Convert.ToBase64String(bytes, 0, bytes.Length);
}
}
}
// Fin de Conversion de Imagen
_context.ModEmpleado(empleado.IdEmpleado, empleado.RutEmpleado, empleado.Nombre, empleado.ApePat, empleado.ApeMat, empleado.IdDepto,
empleado.IdCarg, empleado.Anexo, empleado.EmailEmp, empleado.UserName, empleado.Password, empleado.ConfPassWord, empleado.FechaIncorporacion,
empleado.IdEmpresa, empleado.IdTipoRemu, empleado.IdAfp, empleado.IdSalud, empleado.ValAdic, empleado.IdSexo, empleado.IdNac,
empleado.IdBanco, empleado.IdTipCta, empleado.NumCta, empleado.CallePje, empleado.NumCasa, empleado.VillPobl, empleado.IdCom,
empleado.IdProv, empleado.FonoPart, empleado.Email, empleado.FechaNacimiento, empleado.Imagen, empleado.PersonaEmergencia,
empleado.FonoEmergencia, empleado.FechaDespido);
TempData["successMessage"] = "Datos Actualizados Correctamente";
return RedirectToAction("Index");
}
else
{
TempData["errorMessage"] = "Problema de Actualización, Revise!";
return RedirectToAction("Index");
}
}
catch (Exception ex)
{
TempData["errorMessage"] = ex.Message;
return RedirectToAction("Index");
}
}
Entonces, la Pregunta es Alguien podría indicarme como puedo validar el hecho de que si la imagen viene vaciá, por el hecho que no se hizo ningún cambio, pueda pasar por la pregunta sin problema. Gracias