Полагаю, это невозможно.
Ответ - это просто объект памяти, который взаимодействует с IIS. Вы не можете знать, загрузил ли браузер файл полностью, поскольку пользователь мог отменить его непосредственно перед поступлением последнего байта, но после того, как IIS завершил отправку всего потока.
Вы можете попытаться реализовать IHttpHandler, непрерывно записывать куски файла в context.Response в методе Process () и Flush () и проверять вот так
context.Response.Flush();
if (!context.Response.IsClientConnected)
// handle disconnect
Это самое близкое, что я могу придумать для решения вашей проблемы.