У меня есть вид на веб-приложение, где пользователь загружает файл для предварительного заполнения формы. Представление, в котором расположена форма, имеет два объявления Html.BeginForm
, одно для загрузки файла и одно для отправки заполненной формы. Все работает нормально, когда я отлаживаю локально с помощью IIS Express, но при развертывании на моем сервере разработки файл не загружается. Я надеюсь, что кто-то сможет дать некоторое представление о том, почему это происходит.
Выдержка загрузки файла из представления:
@using (Html.BeginForm("Populate", "ScProject", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
//file upload and submit button
}
Выписка загрузки файла с контроллера:
[HttpPost]
public ActionResult Populate(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
try
{
string path = Path.Combine(Server.MapPath("~/Content"), System.IO.Path.GetFileName(file.FileName));
file.SaveAs(path);
return RedirectToAction("Create", new { file = Path.GetFileName(file.FileName) });
}
catch (Exception ex)
{
...omitted error logging code...
return RedirectToAction("Create");
}
else
{
...omitted error logging code...
return RedirectToAction("Create");
}
}
RedirectToAction("Create", new { file = Path.GetFileName(file.FileName) });
перезагружает представление и заполняет форму, используя загруженный файл. Я попытался выполнить это действие, используя предварительно загруженный файл, введя URL: ../ScProject/Create?file=upload.pptx
, который снова отлично работает на IIS Express, но не работает на сервере разработки. Если кто-то может предложить какое-либо понимание, это будет с благодарностью.