ASP.Net MVC 2 Загрузка изображений - PullRequest
0 голосов
/ 25 января 2011

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

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

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


Редактировать:

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

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

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();
    }

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

1 Ответ

0 голосов
/ 26 января 2011

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

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

также вам нужно будет назвать этот элемент ввода текста (а не просто id) ...

<input type="text" id="ImageName" name="ImageName" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...