如何在“上载”中调整图像尺寸以减小图像尺寸?

问题描述 投票:0回答:1

我正在尝试调整图像的大小,然后再将其保存到服务器。我想在到达服务器之前减小图像大小。我在这里上传了多个用“;”分隔的图像。

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));
        }
c# asp.net model-view-controller .net-core
1个回答
0
投票

您可以尝试。使用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);
    }
© www.soinside.com 2019 - 2024. All rights reserved.