[英]How do i resize images on Upload to reduce the image size?
I am trying to resize the images before saving them to the server.我试图在将图像保存到服务器之前调整它们的大小。 I want to reduce the image size before it gets to the server.我想在图像到达服务器之前减小图像大小。 Here i am uploading multiple images separated by ";".在这里,我上传了多个以“;”分隔的图像。
public async Task<IActionResult> Create(Venue v){
var files = HttpContext.Request.Form.Files;
foreach (var Image in files)
{
if (Image != null && Image.Length > 0)
{
var file = Image;
var filename = file.FileName;
var uploads = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/venue");
if (file.Length > 0)
{
using (var fileStream = new FileStream(Path.Combine(uploads,filename),FileMode.Create))
{
await file.CopyToAsync(fileStream);
v.Image = v.Image + ";" + filename;
}
}
}
}
_context.Venues.Add(v);
_context.SaveChanges();
return RedirectToAction(nameof(Index));
}
You can try.你可以试试。 using System.Drawing;使用 System.Drawing;
public static Image resizeImage(IFormFile imgToResize, int newWidth)
{
Image image = Image.FromStream(imgToResize.OpenReadStream(), true, true);
Size size = new Size()
{
Width = newWidth,
Height = newWidth //(image.Height * newWidth) / image.Width
};
return new Bitmap(image, size);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.