目标:
评估图片的格式,宽度和高度,然后将其保存在我的程序中。
问题:
不知道如何使用HttpPostedFileBase file
然后将其发送到Image newImage = Image.FromFile(xxxx);
而不将图片保存在我的程序中。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
Image newImage = Image.FromFile(xxxx);
}
return Index();
}
答案 0 :(得分:12)
您可以像以下代码段那样执行此操作。请注意System.Drawing
命名空间引用,您需要使用Image.FromStream()
方法。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(HttpPostedFileBase httpPostedFileBase)
{
using (System.Drawing.Image image = System.Drawing.Image.FromStream(httpPostedFileBase.InputStream, true, true))
{
if (image.Width == 100 && image.Height == 100)
{
var file = @"D:\test.jpg";
image.Save(file);
}
}
return View();
}
答案 1 :(得分:2)
HttpPostedFile有一个stream属性,即上传的数据。与Image.FromStream方法一样使用它来加载图像。
我建议你在这里阅读有关HttpPostedFile的帮助:
http://msdn.microsoft.com/en-us/library/SYSTEM.WEB.HTTPPOSTEDFILE(v=vs.100,d=lightweight).aspx
西蒙