1

У меня есть веб-API ASP.NET, написанный в MVC. У меня есть пост-действие с некоторыми необязательными аргументами.Необязательный HttpPostedFileBase в ASP.NET MVC

public Guid PostExecution(string Action, List<Guid> ComputersIDs, int Port = 0, string Command = null, string Password = null) 

Он отлично работает. Теперь мне нужно это действие, чтобы получить дополнительный файл, отправленный методом post.

Итак:

public Guid PostExecution(string Action, List<Guid> ComputersIDs, int Port = 0, string Command = null, string Password = null, HttpPostedFileBase file = null) 

Самое интересное, что когда я добавить параметр HttpPostedFileBase серверов останавливает отвечает на запросы к этому действию и только говорит об ошибке 500 Внутренняя ошибка сервера. Это не исключение. С точкой останова код не вводится в PostExecution.

Почему это происходит?

Как я могу отладить эту ошибку?

Возможно ли иметь опционный HttpPostedFileBase?

ответ

3

все размещенные файлы являются необязательными!

и вы можете получить их Request.Files, и вам не нужно иметь их в параметре методы

+0

Объясните мне немного больше, пожалуйста. Я использовал что-то вроде публичного индекса ActionResult (файл HttpPostedFileBase) в соответствии с http://stackoverflow.com/a/5193851/909974 –

+0

Ну, это обязательная магия asp.net mvc! но вы хотите использовать это, когда будете уверены, что будет файл, на самом деле его привязка сама получает файлы из Request.Files тоже, и просто сделать метод немного легче читать и следовать, если пользователь не отправляет никаких файл с этим специальным именем (типа ввода = файл), действие не будет найдено, а ошибка 404 вернется к клиенту –

Смежные вопросы