There have been a couple of questions on the ASP.NET MVC newsgroup about this recently. It's pretty straight forward, you simply use the standard HTML input tag (type="file") in your form and then iterate through the HttpRequest's Files collection in your controller.
Here's the view's HTML:
<form action="/Document.mvc/UpdateDocument/" method="post" enctype="multipart/form-data">
<label for="file1">Document 1</label>
<input type="file" id="file1" name="file1" />
<label for="file2">Document 2</label>
<input type="file" id="file2" name="file2" />
<label for="file3">Document 3</label>
<input type="file" id="file3" name="file3" />
</form>
And here's the controller action:
public void SaveDocuments()
{
foreach (string inputTagName in Request.Files)
{
HttpPostedFile file = Request.Files[inputTagName];
if (file.ContentLength > 0)
{
string filePath = Path.Combine(@"C:\MyUploadedFiles", Path.GetFileName(file.FileName));
file.SaveAs(filePath);
}
}
}