Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .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 знал имя файла и не называл его именем открытой страницы ... Довольно сумбурно вышло... Плиииз Хелп smile

Автор: [Last]Wizard 22.11.2004, 20:14
Ага, типа запустите моего трояна без вопросов smile

Скорее всего вряд ли удастся заставить IE запустить файл без вопросов с серверной стороны, так как это была бы дыра в безопасности.
А вот с клиентской стороны можно. Там на диалоге "Download File" внизу есть checkbox, где написано "Always ask before opening this type of file". Если убрать галочку - то файлы с таким расширением будут открываться сразу. Хотя это вряд ли можно назвать решением проблемы. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)