валидация картинок в MVC - PullRequest
       2

валидация картинок в MVC

8 голосов
/ 03 февраля 2011

Цель:
Оценить формат, ширину и высоту изображения, а затем сохранить его в моей программе.

Проблема:
Не знаю, как использовать HttpPostedFileBase file изатем отправьте его на Image newImage = Image.FromFile(xxxx); без сохранения изображения в моей программе.

  1. Проверка
  2. сохранение изображения в моих "App_Data"
[AcceptVerbs(HttpVerbs.Post)]  
public ActionResult Add(HttpPostedFileBase file)  
{
    if (file.ContentLength > 0)
    {
        Image newImage = Image.FromFile(xxxx);      
    }

    return Index();  
 } 

Ответы [ 2 ]

12 голосов
/ 03 февраля 2011

Вы можете сделать это как-то так, как в следующем фрагменте. Обратите внимание на ссылку на пространство имен 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();
}
2 голосов
/ 03 февраля 2011

HttpPostedFile имеет свойство потока, которое является загруженными данными. Используйте это как с методом Image.FromStream для загрузки изображения.

Я бы посоветовал вам прочитать справку о HttpPostedFile здесь:

http://msdn.microsoft.com/en-us/library/SYSTEM.WEB.HTTPPOSTEDFILE(v=vs.100,d=lightweight).aspx

Simon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...