Saltar al contenido

Carga y cambio de tamaño de imágenes de ASP.NET Core

Solución:

Puedes usar IFormFile.OpenReadStream() para obtener la transmisión, y luego simplemente inserte la transmisión en un Image. Para este caso, lo escalé a 1024×768.

Image image = Image.FromStream(file.OpenReadStream(), true, true);
var newImage = new Bitmap(1024, 768);
using (var g = Graphics.FromImage(newImage))
{
    g.DrawImage(image , 0, 0, 1024, 768); 
}

A continuación, puede utilizar newImage para ahorrar o hacer lo que quieras.

Instalar desde nuget: Install-Package SixLabors.ImageSharp

[HttpPost]
public IActionResult Upload(IFormFile file)
{
 //Better use extension method
 string fileName;
 string customRoot = "wwwroot\Upload\";
 if (!Directory.Exists(customRoot))
    {
       Directory.CreateDirectory(customRoot);
    }
    var path = Path.Combine(Directory.GetCurrentDirectory(), customRoot,fileName);
    using var image = Image.Load(file.OpenReadStream());
    //100: height
    //100: width
    image.Mutate(x => x.Resize(100, 100));
    image.Save(path); 
    return Ok();
}

para obtener más información: https://blog.elmah.io/upload-and-resize-an-image-with-asp-net-core-and-imagesharp/

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *