Вот пример загрузки нескольких файлов:
HTML:
<% using (Html.BeginForm("Upload", "File", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%><br />
<input type="file" name="files" id="file1" size="25" />
<input type="file" name="files" id="file2" size="25" />
<input type="submit" value="Upload file" />
<% } %>
Контроллер:
[HttpPost]
public ActionResult Upload()
{
foreach (string inputTagName in Request.Files)
{
HttpPostedFileBase file = Request.Files[inputTagName];
if (file.ContentLength > 0)
{
string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads")
, Path.GetFileName(file.FileName));
file.SaveAs(filePath);
}
}
return RedirectToAction("Index");
}
Обновление: получение информации о загруженном файле
В следующем примере показано, как получить имя / тип / размер / расширение отправленного файла HttpPostedFileBase.
string filename = Path.GetFileName(file.FileName);
string type = file.ContentType;
string extension = Path.GetExtension(file.FileName).ToLower();
float sizeInKB = ((float)file.ContentLength) / 1024;
предположим, что вы загрузили файл somePicture.jpeg
вывод будет.
filename > somePicture.jpeg
type > image/jpeg
extension > jpeg
sizeInKB > // the file size.