ASP.NET MVC Отправка формы - PullRequest
1 голос
/ 07 марта 2011

У меня немного мозговый пердеть;это должен быть понедельник ...

У меня есть форма MVC, которая позволяет пользователю отправить изображение.

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

Какие есть варианты передачи имени и пути к изображению обратно в действие контроллера для отображения графики?

    // Handles the updload, contains a control (ascx) 
    // and the control's action method is in another controller
    public ActionResult Index()
    {
        return View();
    }

    // I want this page to display the image uploaded in the Upload.ascx control
    // that is in the index method above:
    public ActionResult Result()
    { 
        ViewData["MyImage"] = ???
    }

Большое спасибо.

1 Ответ

0 голосов
/ 07 марта 2011

Где хранится изображение? В вашей области контента или в базе данных? Если он находится в базе данных, я бы создал URL контроллера / действия для отображения этого изображения из БД. Если это в вашей области содержимого, то вы можете создать URL-адрес на основе имени загруженного файла. Возможно, я бы создал модель, а не передавал URL-адрес в данных представления, но данные представления являются допустимой (то есть работает) альтернативой.

 public ActionResult Result( int id ) // db storage
 {
     return View( new UploadModel
                  {
                      ImageUrl = Url.Action( "display", "image", new { id = id }
                  } );
 }


 public ActionResult Result() // content area
 {
     var imageName = ... get image name from ???  ...
     return View( new UploadModel
                  {
                      ImageUrl = Url.Content( "~/content/images/uploads/" + iamgeName );
                  });
 }
...