我正在尝试调整图像的大小,然后再将其保存到服务器。我想在到达服务器之前减小图像大小。我在这里上传了多个用“;”分隔的图像。
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));
}
您可以尝试。使用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);
}