Редактировать: И только когда вы думаете, что все поняли, вы понимаете, что есть лучший путь. Проверить http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx
Оригинал:
Я не уверен, что понимаю ваш вопрос на 100%, но я предполагаю, что вы хотите загрузить файл на URL, который выглядит примерно так: http://{server name} / {Controller} / Upload? Это будет реализовано в точности как обычная загрузка файлов с использованием веб-форм.
Итак, ваш контроллер имеет действие с именем upload и выглядит примерно так:
//For MVC ver 2 use:
[HttpPost]
//For MVC ver 1 use:
//[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Upload()
{
try
{
foreach (HttpPostedFile file in Request.Files)
{
//Save to a file
file.SaveAs(Path.Combine("C:\\File_Store\\", Path.GetFileName(file.FileName)));
// * OR *
//Use file.InputStream to access the uploaded file as a stream
byte[] buffer = new byte[1024];
int read = file.InputStream.Read(buffer, 0, buffer.Length);
while (read > 0)
{
//do stuff with the buffer
read = file.InputStream.Read(buffer, 0, buffer.Length);
}
}
return Json(new { Result = "Complete" });
}
catch (Exception)
{
return Json(new { Result = "Error" });
}
}
В этом случае я возвращаю Json, чтобы указать успех, но вы можете изменить его на xml (или что-нибудь еще), если это необходимо.