c# - 如何在上传时调整图像大小以减小图像大小?
问题描述
我正在尝试在将图像保存到服务器之前调整它们的大小。我想在图像到达服务器之前减小它的大小。在这里,我上传了多个用“;”分隔的图像。
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);
}
推荐阅读
- javascript - 使用 post 数据获取 expressjs 导致找不到 404 服务器
- javascript - 滚动顶部动画在 IOS 上不起作用
- ios - 'LGsideMenucontroller' 未在 swift 4 的所有视图控制器中打开
- java - 如何修复“删除令牌连接超时后重新连接 SunPKCS11”
- android - 'java.lang.String' 在 Android 中已弃用
- php - 如何使用 PHP 在会话中传递单选按钮的值?
- node.js - 在 Elasticsearch JS 中使用复合查询面临困难
- javascript - Bootstrap 折叠滚动到底部问题
- android - 除非重叠文本视图,否则是否可以在约束布局中将图标居中
- spring - RabbitMQ:通道关闭:连接错误