Загрузка файла C# возвращает поврежденный файл - TransmitFile

На нашем сервере мы размещаем более 10 сайтов в одном домене, используя виртуальный каталог. Теперь, среди них, функция загрузки файлов работает на всех веб-сайтах, кроме 2. Я проверил все с помощью следующей функции, но все же она не работает.

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlPathEncode(strFileName));
HttpContext.Current.Response.TransmitFile(fileDirectory + @"\" + fileName);
HttpContext.Current.Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();

Обратите внимание, что я также пытался установить код для Content-Length, очистить кэш ответов, но ничего не получалось. На самом деле, я также сравнил заголовок запроса рабочей и нерабочей страницы сайта, но они также были одинаковыми. Обратите внимание, что загрузка файла работает, когда я использую тот же код на странице Ashx! Я на 99,99% уверен, что это должно быть связано с чем-то другим, кроме кодирования, так как я не обнаружил проблем с другими сайтами.

Если кто-то может сосредоточиться на этом, то это будет с благодарностью! Иначе у меня не было бы выбора применять альтернативные решения.

заранее спасибо

0 ответов

Другие вопросы по тегам