Проверьте, успешно ли загружен файл - PullRequest
0 голосов
/ 31 декабря 2018

Я хочу проверить, успешно ли загружен файл (в качестве примера .pdf).

public class TestController : Controller
{
    public FilePathResult Index()
    {
        return File("path/to/file", "application/pdf");
    }
}

Мне удалось найти это решение:

public class CheckedFileStreamResult : FileStreamResult
{
    public CheckedFileStreamResult(FileStream stream, string contentType)
    :base(stream, contentType)
    {
        DownloadCompleted = false;
    }

    public bool DownloadCompleted { get; set; }

    protected override void WriteFile(HttpResponseBase response)
    {
        var outputStream = response.OutputStream;
        using (FileStream)
        {
            var buffer = new byte[_bufferSize];
            var count = FileStream.Read(buffer, 0, _bufferSize);
            while(count != 0 && response.IsClientConnected)
            {                 
                outputStream.Write(buffer, 0, count);
                count = FileStream.Read(buffer, 0, _bufferSize);
            }
            DownloadCompleted = response.IsClientConnected;
        }
    }

    private const int _bufferSize = 0x1000;
}

Не могупонять, как я могу проверить флаг DownloadCompleted в обработчике OnResultExecuted .Метод действия возвращает FilePathResult .Пожалуйста, подскажите, как я могу проверить флаг DownloadCompleted в обработчике OnResultExecuted .Нужен ли типотип?

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