2011-01-25 2 views
0

Я пытаюсь выполнить загрузку простого изображения с использованием MVC2. на мой взгляд, у меня есть:ASP.Net MVC 2 Загрузка изображения

<% using (Html.BeginForm("Upload","Home")) { %> 
    <input type="file" name="upload" id="ImageUpload" value="Upload Image"/> 
    <input type="submit" value="Upload" /> 
<% } %> 

В мой контроллер (Home), как я получаю загрузил это изображение и сохранить его в базе данных? Я очень новичок в ASP.Net MVC, и эта вещь заставила меня застрять. Заранее благодарим за помощь и время.


Edit:

хорошо, я думаю, мой вопрос расплывчатый от ответа я получил, чтобы предоставить более подробную информацию, это то, что у меня есть:

модель изображения просто как показано ниже -

public class ImageModel 
{ 
    public Image image; 
    public string ImageName; 

    public ImageModel(Image image, string name) 
    { 
     this.image = image; 
     ImageName = name; 
    } 

} 

вид, как это:

<%using (Html.BeginForm("Upload","Home", FormMethod.Post, new {enctype = "multipart/form-data"})) 
{%>  
    <input type="text" id="ImageName" /> 
    <input type="file" name="upload" id="ImageUpload" value="Upload Image"/> 
    <input type="submit" value="Upload" /> 
<%} %> 

контроллер, где я хочу создать новый экземпляр ImageModel, проверить его, и если действительный сохранить его в базу данных: Так у меня есть:

public ActionResult Upload(ImageModel image) 
    { 
     //this is where i am stuck? 
     //how to get the supplied image as part of the ImageModel object 
     //whats the best way to retrieve the supplied image 

     ImageModel temp = image; 
     if(!temp.IsValid()){ 
      //get errors 

      //return error view 
     } 
     uploadrepository.SaveImage(temp);  

     return View(); 
    } 

Вопрос заключается в том, чтобы получить прилагаемое изображение и сохранить его в базу данных

+0

Для того, чтобы сохранить изображение в базе данных, вам нужно будет рассказать всем, какая база данных, как выглядит ваш стол, повторное использование ORM, хранимой процедуры, ??? Что вы пробовали? – hunter

+0

Не могли бы вы отметить ответ? – hunter

ответ

0

на основе вашего View кода попробуйте изменить модель в этом ...

public class ImageModel 
{ 
    public HttpPostedFileWrapper upload { get; set; } 
    public string ImageName { get; set; } 
} 

также, вы будете нуждаться т o имя, что элемент ввода текста (а не только идентификатор) ...

<input type="text" id="ImageName" name="ImageName" /> 
Смежные вопросы