Выполнить что-нибудь, когда файл потока закончен для загрузки с ASPNET MVC 3 - PullRequest
3 голосов
/ 18 ноября 2011

Я использую ASPNET MVC 3 и при нажатии на ссылку в представлении я возвращаю из контроллера FileResult (он берется из потока, а не из физического файла). Чего я хочу добиться - это сделать что-нибудь, когда файл закончит загрузку. Есть ли возможность сделать это? Поскольку я не могу ничего написать прямо сейчас после возврата файла ....

Заранее спасибо! Гильермо.

Ответы [ 2 ]

6 голосов
/ 18 ноября 2011

создайте свой собственный файл или получите существующий:

public class MyFileStreamResult : FileStreamResult 
{
    // [.. constructors here ..]


    public override void ExecuteResult(ControllerContext context) 
    {
        base.ExecuteResult(context);

        // do something here
    }
}

Затем получите результат из вашего действия:

return new MyFileStreamResult(myStream, "application/octet-stream");
0 голосов
/ 18 ноября 2011

У вас нет возможности узнать, когда файл загружен или даже успешно загружен.

Одним из решений является отображение «Вы загружаете файл» или «загрузка начнется через несколько секунд».и используйте скрытый iframe или JavaScript, чтобы начать загрузку файла.Страница может действовать так, как если бы она была успешной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...