простая загрузка изображений в aspnet mvc - PullRequest
2 голосов
/ 23 мая 2010

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


input type="file" id="SchoolImageUrl" name="SchoolImageUrl" class="required"    

используя эту кнопку просмотра, я понятия не имею, как загрузить это изображение на сервер и каков будет мой контроллер действий? у меня есть следующий контроллер для создания школы


public ActionResult SchoolCreate(_ASI_School schoolToCreate, FormCollection collection)
        {
            if (!ModelState.IsValid)
                return View();
            try
            {
                // TODO: Add insert logic here
                schoolToCreate.SchoolId = Guid.NewGuid().ToString();
                schoolToCreate.UserId = new Guid(Request.Form["currentUser"]);
                schoolToCreate.SchoolAddedBy = User.Identity.Name;
                HttpPostedFileBase file = Request.Files["SchoolImageUrl"];
                file.SaveAs(file.FileName);
                //schoolToCreate.SchoolImageUrl = Reuseable.ImageUpload(Request.Files["SchoolImageUrl"], Server.MapPath("../Content"));
                //schoolToCreate.SchoolImageUrl = Path.GetFullPath(Request.Files[0].FileName);
                schoolToCreate.SchoolImageUrl = collection["SchoolImageUrl"];

                UpdateModel(schoolToCreate);
                _schoolRepository.CreateSchool(schoolToCreate);
                //_schoolRepository.SaveToDb();

                return RedirectToAction("DepartmentCreate", "Department", new { userId = schoolToCreate.UserId, schoolId = schoolToCreate.SchoolId });
            }
            catch
            {
                return View("CreationFailed");
            }
        }

здесь я получаю ошибку ссылки на объект

Ответы [ 2 ]

4 голосов
/ 23 мая 2010

Включает ли ваша Html.BeginForm следующее:

new { enctype = "multipart/form-data" }

В противном случае данные файла не будут отправлены в запросе POST.

2 голосов
/ 23 мая 2010

Взгляните на это сообщение

HttpPostedFileBase file = Request.Files["SchoolImageUrl"];

может быть причиной.Вы отлаживали, чтобы проверить, получает ли оно нулевое значение?

...