如何控制后端图像的大小 asp.net mvc
how to control size of an image in backend asp.net mvc
我有表格,管理员应该选择一张图片。
图片必须是400*300。
当管理员上传不推荐的照片时,如何发送验证消息?
public ActionResult Gallery(Gallery gallery, HttpPostedFileBase imageUrl)
{
if (imageUrl.ContentLength > 0)
{
var fileName = Path.GetFileName(imageUrl.ToString());
var path = Path.Combine(Server.MapPath("~/Uploads/Images"),
fileName);
imageUrl.SaveAs(path);
}
else
{
return View();
}
}
使用FileInfo
属性 获取文件大小(以字节为单位),Bitmap
包含文件大小(宽度和高度)。
您现在可以在 imgHeight
和 imgWidth
上进行测试
我认为您只需要位图属性,但为了以防万一,我还将文件大小的代码以字节为单位。
FileInfo file = new FileInfo(open.FileName);
var sizeInBytes = file.Length;
Bitmap img = new Bitmap(open.FileName);
var imgHeight = img.Height;
var imgWidth = img.Width;
使用
保存文件之前
imageUrl.SaveAs(path);
和你一样,你可以先创建一个图像,像这样:
Image myImage = Image.FromStream(imageUrl.InputStream);
该图片 class 上有关于图片的信息,您也可以从图片中保存:
if (myImage.Height != 400 || myImage.Width != 300) {
// ... your code the inform the user
} else {
myImage.Save(path);
}
但是,您也可以在 C# 代码中缩小照片尺寸,而不是强制用户上传宽度和高度完全正确的照片(用户可能没有这样的照片)。我通常使用 nuget 上可用的 ThumbnailSharp。我认为这会给用户带来更好的用户体验。
我有表格,管理员应该选择一张图片。 图片必须是400*300。 当管理员上传不推荐的照片时,如何发送验证消息?
public ActionResult Gallery(Gallery gallery, HttpPostedFileBase imageUrl)
{
if (imageUrl.ContentLength > 0)
{
var fileName = Path.GetFileName(imageUrl.ToString());
var path = Path.Combine(Server.MapPath("~/Uploads/Images"),
fileName);
imageUrl.SaveAs(path);
}
else
{
return View();
}
}
使用FileInfo
属性 获取文件大小(以字节为单位),Bitmap
包含文件大小(宽度和高度)。
您现在可以在 imgHeight
和 imgWidth
我认为您只需要位图属性,但为了以防万一,我还将文件大小的代码以字节为单位。
FileInfo file = new FileInfo(open.FileName);
var sizeInBytes = file.Length;
Bitmap img = new Bitmap(open.FileName);
var imgHeight = img.Height;
var imgWidth = img.Width;
使用
保存文件之前imageUrl.SaveAs(path);
和你一样,你可以先创建一个图像,像这样:
Image myImage = Image.FromStream(imageUrl.InputStream);
该图片 class 上有关于图片的信息,您也可以从图片中保存:
if (myImage.Height != 400 || myImage.Width != 300) {
// ... your code the inform the user
} else {
myImage.Save(path);
}
但是,您也可以在 C# 代码中缩小照片尺寸,而不是强制用户上传宽度和高度完全正确的照片(用户可能没有这样的照片)。我通常使用 nuget 上可用的 ThumbnailSharp。我认为这会给用户带来更好的用户体验。