2011-11-15 16 views
6

enter image description hereZasób interpretowany jako Inny, ale przesłany z nieokreślonym typem MIME. Błąd IE (Asp.net WWW)

gdy próbuję pobrać z Chrome działa dobrze, ale w IE 8 nie pobiera on pokazuje błąd powyżej

protected void btn_ExcelDownload_Click(object sender, EventArgs e) 
{ 
    Grid_UserTable.Columns[0].Visible = false; 
    string subject = lbl_Subj.Text; 
    Response.Buffer = true; 
    Response.Clear(); 
    Response.ClearHeaders(); 
    Response.AddHeader("Cache-Control", "no-store, no-cache"); 
    Response.AddHeader("content-disposition", "attachment;filename=" + subject + "-Status.xls"); 
    Response.Charset = ""; 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.ContentType = "application/vnd.ms-excel"; 
    System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); 
    Grid_UserTable.RenderControl(htmlWrite); 
    rptList.RenderControl(htmlWrite); 
    Response.Write(stringWrite.ToString());  
    Response.End(); 
} 

Kiedy Użyłem narzędzia programisty w chrome, podałem zasób zinterpretowany jako inny, ale przesłany z nieokreślonym typem MIME. błąd, ale pobrany plik, ale IE rzuca błąd pokazany na obrazku, co powinienem zrobić, dziękuję.

Jestem w stanie pobrać plik w IE8, gdy uruchomię stronę za pomocą Visual Studio, ale kiedy próbuję pobrać ją ze strony internetowej, która jest załadowana na serwer, otrzymuję powyższy błąd ,, Błąd jest tylko w IE 8.

Próbowałem zmienić tryb zgodności przeglądarki IE przeglądarki, nawet wtedy otrzymuję ten sam błąd.

To moja zawartość głowa

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server"> 
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> 
+0

Przetestowałem Twój kod i zadziałało dla mnie w IE8. Którą wersję IE używasz? – NaveenBhat

+0

Działa na hoście lokalnym, po przesłaniu na serwer podaje powyższy błąd. – John

+0

http://stackoverflow.com/questions/2133776/ie8-wont-download-a-file-with-a-custom-mime-type-with-uac-enabled sam problem – John

Odpowiedz

3
Response.Cache.SetCacheability(HttpCacheability.NoCache); 

rozwiązywane przez usunięcie z tej linii kodu.

2

Może to działa:

Response.ClearHeaders(); 
Response.AddHeader("Cache-Control", "no-store, no-cache"); 

Source link

+0

otrzymuję ten sam błąd – John

+0

spróbować przez włączanie bufora 'Response.Buffer = true;' Wypróbuj także 'application/vnd.ms-excel' – NaveenBhat

Powiązane problemy