Я использую Response.AddHeader («Content-Disposition», «attachment; filename =» + Server.HtmlEncode (FileName));вывести диалоговое окно «открыть / сохранить файл» для пользователей, чтобы они могли загрузить файл на свои локальные машины.
Это нормально работает в IE7, но в IE6 файл не открывается, когдапользователь нажимает кнопку открытия в диалоге «открыть / сохранить файл».Я прошел через сеть и обнаружил, что Response.AddHeader («Content-Disposition», «inline; filename =» + Server.HtmlEncode (FileName));Должно быть обеспечено, чтобы работать в IE6, и он работает нормально ..
Но проблема в том, что большинство файлов, которые могут открываться в браузере, открывается на самой странице .. т.е. пользователь на почтовой странице и нажимает кнопку загрузкифайл изображения, который он там открывает, мне нужно, чтобы он открылся в другом окне, как в случае с IE7, что я могу сделать ... другие файлы, которые не могут открываться в bowser, открываются с помощью текущего приложения в системе, т. е. (word, excel и т. д.)
, пожалуйста, предложите способ придерживаться одного и того же кода для обоих IE ... Код, который я использовал здесь ...
Response.AddHeader("Content-Disposition", "attachment; filename=" +FileName);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = ReturnExtension(file.Extension.ToLower());
Response.TransmitFile(file.FullName);
Response.End();
private string ReturnExtension(string fileExtension)
{
switch (fileExtension)
{
case ".txt":
return "text/plain";
case ".doc":
return "application/ms-word";
case ".xls":
return "application/vnd.ms-excel";
case ".gif":
return "image/gif";
case ".jpg":
case "jpeg":
return "image/jpeg";
case ".bmp":
return "image/bmp";
case ".wav":
return "audio/wav";
case ".ppt":
return "application/mspowerpoint";
case ".dwg":
return "image/vnd.dwg";
default:
return "application/octet-stream";
}
}