У меня самая странная проблема с загрузкой файлов в ASP.NET MVC 3. Когда я запускаю новый проект с шаблоном проекта по умолчанию (интернет-приложение) с помощью Razor и добавляю следующее в /views/home/index.cshtml
<form action="/Home/Index" method="post" enctype="multipart/form-data">
<input type="file" name="upfile" />
<input type="submit" value="post" />
</form>
загрузка завершается неудачно (firebug показывает статус 'Aborted') всякий раз, когда я пытаюсь загрузить файл. Некоторая дополнительная информация:
- Windows 7 / 64bit
- Кассини
- VS SP1
- Это происходит как в Firebug 6.0.2, так и в IE8
Код контроллера:
public class HomeController : Controller {
public ActionResult Index() {
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About() {
return View();
}
}
Я немного отлаживал это и уже обнаружил следующее:
- это происходит только для файлов> ~ 120kb
- если я добавлю целевое действие с атрибутом [HttpPost], загрузка будет успешной
- если я отлаживаю с помощью fiddler (proxy), загрузка удастся
- если я использую aspx и добавляю тот же код, загрузка завершится
- для aspx / razor, все файлы идентичны, за исключением (конечно) файлов в / Views, но не /Views/Web.config
Кто-нибудь еще испытывал эту проблему и что ее вызывает?
обновление: Я знаю, что должен использовать отдельное действие и пометить его с помощью HttpPost, поэтому я не задаю этот вопрос. Я ищу причину , почему это не работает, а не как ее решить.