У меня есть кнопка importFile на HTML-странице, после нажатия на нее «Импорт файла», обработайте файл и вернитесь обратно, если возникнут какие-либо ошибки, с сообщением «Ошибка загрузки файла с ошибками. Проверьте загруженный файл ошибок». Если ошибок нет, просто сообщение «Файл успешно загружен».
Вот как выглядит мой взгляд:
@using (Html.BeginForm("FileUpload", "Plt", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="OK" />
}
Код серверной стороны: -
[HttpPost]
public virtual ActionResult ImportFileData(HttpPostedFileBase importFile)
{
if (importFile.ContentLength > 0)
{
var target = new MemoryStream();
importFile.InputStream.CopyTo(target);
byte[] data = target.ToArray();
var fileNameWithoutExtension = importFile.FileName.Remove(importFile.FileName.IndexOf("."));
var file = new FileDetails(fileNameWithoutExtension, data, FileTypes.Xlsx);
var importedFileDetails = PortalService.ImportFromExcel(file);
return File(importedFileDetails.FileBytes, importedFileDetails.MimeType, importedFileDetails.FileName);
}
return RedirectToAction(MVC.SystemSetup.Index());
}