Я хочу использовать класс HttpPostedFile для загрузки одного или нескольких больших файлов в контроллер ASP.NET MVC с веб-страницы. Используя этот класс, загруженные файлы размером более 256 КБ буферизуются на диск, а не хранятся в памяти сервера.
Насколько я понимаю, это можно сделать так:
if (context.Request.Files.Count > 0)
{
string tempFile = context.Request.PhysicalApplicationPath;
for(int i = 0; i < context.Request.Files.Count; i++)
{
HttpPostedFile uploadFile = context.Request.Files[i];
if (uploadFile.ContentLength > 0)
{
uploadFile.SaveAs(string.Format("{0}{1}{2}",
tempFile,"Upload\\", uploadFile.FileName));
}
}
}
Есть ли способ установить обратный вызов или, используя какой-либо другой метод, периодически возвращать статус на веб-страницу через AJAX или JSON, чтобы можно было отображать индикатор выполнения и процент выполнения? Как будет выглядеть код?