Używam Response.AddHeader ("Content-Disposition", "attachment; filename =" + Server.HtmlEncode (FileName)); aby otworzyć okno dialogowe "Otwórz/Zapisz plik" dla użytkowników, aby mogli pobrać plik na swoje maszyny lokalne.Response.AddHeader ("Content-Disposition") nie otwiera pliku w IE6
Działa to dobrze normalnie w IE7, ale na IE6 plik nie otwiera się, gdy użytkownik kliknie przycisk otwierania w oknie dialogowym "Otwórz/zapisz plik". Przeszedłem przez sieć i odkryłem, że Response.AddHeader ("Content-Disposition", "inline; filename =" + Server.HtmlEncode (FileName)); powinien być dostarczony do pracy w IE6, a jego prace dobrze ..
Ale problem jest większość plików, które można otworzyć w przeglądarce otwiera się na samej stronie .. tj. Użytkownik na stronie poczty i kliknij przycisk Pobierz plik obrazu otwiera się tam, muszę go otworzyć w innym oknie, jak w przypadku IE7, co mogę zrobić ... inne pliki, które nie mogą otworzyć się w bowser open z aktualną aplikacją w systemie ie (word, excel itp.) ..
proszę sugerują sposób, aby trzymać z tym samym kodem dla obu IES ... Kodeks użyłem tu ....
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";
}
}
Dlaczego kodujesz nazwę pliku HTML? Nagłówki HTTP nie są HTML. – spender
yh itz pomyłka usunąłem go, ale to nie rozwiązuje problemu .. – deepu
Mam moje rozwiązanie z części twojego pytania dzięki :) – bhargav