| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Просмотр и скачивание файлов |
| Автор: Гость_Max 22.11.2004, 16:40 |
| Есть функция - которая открывает файл в Explorer-e, функция реализована в Handler-e который получает id-файла сам находит его имя и открывает: public void ShowFile(HttpContext context, string _Path, string FileName) { string MimeType = GetMimeType(Path.GetExtension(FileName)); if(!File.Exists(_Path + FileName)) throw new Exception("Can't find file " + _Path + FileName); FileStream stream = new FileStream (_Path + FileName, FileMode.Open, FileAccess.Read); byte[] buffer = new byte[stream.Length]; stream.Position=0; stream.Read(buffer, 0, (int)stream.Length); context.Response.ContentType = MimeType; context.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + FileName + "\""); context.Response.OutputStream.Write(buffer, 0, buffer.Length); } Но перед тем как открыть файл эксплорер запрашивает чего хотит юзер открыть файл или сохранить его ... Если убрать context.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + FileName + "\""); то файл будет открываться без всяких вопросов (что мне и нужно) но Explorer тогда не знает какое у имя у файла и называет его именем открытой страницы А нуно чтобы файл спокойно открылся ... например pdf-ничек какой-нить и при этом Explorer знал имя файла и не называл его именем открытой страницы ... Довольно сумбурно вышло... Плиииз Хелп |
| Автор: [Last]Wizard 22.11.2004, 20:14 |
| Ага, типа запустите моего трояна без вопросов Скорее всего вряд ли удастся заставить IE запустить файл без вопросов с серверной стороны, так как это была бы дыра в безопасности. А вот с клиентской стороны можно. Там на диалоге "Download File" внизу есть checkbox, где написано "Always ask before opening this type of file". Если убрать галочку - то файлы с таким расширением будут открываться сразу. Хотя это вряд ли можно назвать решением проблемы. |