Я создаю веб-приложение для агентства недвижимости и одну из форм, используемых для загрузки свойств. Мне нужно загрузить несколько изображений или файлов, таких как этажные планы в формате pdf, в папку и сохраните свой путь в базе данных (SQL SERVER).Загрузите несколько файлов/путь к файлу с помощью asp.net mvc
Я попытался сделать это самостоятельно, используя некоторую помощь из онлайн-ресурсов, но не смог разобраться.
Это часть моего представления с загрузкой файла.
<div class="file_inputs">
<input type="file" id="dev_brochure" name="dev_brochure" class="form-control adminarea_files">
<input type="file" id="devListingImg1" name="devListingImg1" class="form-control adminarea_files">
<input type="file" id="devListingImg2" name="devListingImg2" class="form-control adminarea_files">
<input type="file" id="devListingImg3" name="devListingImg3" class="form-control adminarea_files">
</div>
Это мой контроллер, который обрабатывает файл загрузить
[HttpPost]
public ActionResult InsertDevelopment(development dev, IEnumerable <HttpPostedFileBase> files)
{
try
{
var supportedFileTypes = new [] {"jpg", "jpeg", "png", "gif", "pdf"};
foreach(var file in files)
{
if(file.ContentLength > 0)
{
var fileExt = Path.GetExtension(file.FileName).Substring(1);
if(!supportedFileTypes.Contains(fileExt))
{
TempData["Msg"] = "You have tried to upload a file type that is not allowed";
return RedirectToAction("Create");
}
}
}
var devBrochure = Path.GetFileName(Request.Files["dev_brochure"].FileName);
var devListingPhoto1_LinkName = Path.GetFileName(Request.Files["devListingImg1"].FileName);
var devListingPhoto2_LinkName = Path.GetFileName(Request.Files["devListingImg2"].FileName);
var devListingPhoto3_LinkName = Path.GetFileName(Request.Files["devListingImg3"].FileName);
return View("Create");
}
catch(Exception e)
{
TempData["Msg"] = "Development upload failed :" + e.Message;
return View("Create");
}
}
Моя главная проблема в том, что файлы с точки зрения не принимается в IEnumerable <HttpPostedFileBase> files
параметра Действие контроллера.
Я хотел бы получить любую форму руководства, чтобы исправить это. Thanks
использовать его более простой –