Hemos creado una aplicación Blazor Server con .NET 5 framework, con una función que carga imágenes y las recorta, qué parte debe cargarse, lo que usamos es croppie.js , probé el código a continuación cuando después de recortar la imagen, guarde , el enfoque que utilicé es obtener el src de la imagen mediante javascript, que ha sido llamado por mi método dentro de la página del servidor Blazor, aquí está mi código.
JavaScript:
function getImgSrc() { debugger; var GetValue = document.getElementById('my-img').src; return GetValue; }
Mis códigos de página del lado del servidor Blazor (Index.razor.cs)
public async Task SavePhoto() { string GetSRC = await jSRuntime.InvokeAsync<string>("getImgSrc"); string path = _hostingEnvironment.WebRootPath + "/images/" + fileName; byte[] imageBytes = Convert.FromBase64String(GetSRC); File.WriteAllBytes(path, imageBytes); return; }
Luego, cuando ejecuto la aplicación, recorto la imagen y la guardo, provoca un error, el único mensaje de error que se muestra es este.
Error: conexión desconectada con el error 'Error: el servidor devolvió un error al cerrar: la conexión se cerró con un error'.
¿Alguien ha intentado usar croppie en Blazor Server ? ¿Ha obtenido con éxito la imagen del src de la etiqueta de imagen?
Espero que alguien pueda ayudarme en esto.
Gracias a todos
Resolví esto al no usar el código detrás de la página del componente blazor, usé javascript, json/ajax y webapi para guardar la imagen, luego usé el código detrás para mostrar la imagen, pero tengo que forzar la recarga de la página para esto. Actualmente, nuestro equipo quiere evitar la mancha en el código detrás del blazor, para que nuestra aplicación sea lo más liviana posible.
Gracias a todos.