экспорт в Excel через https (SSL) с использованием IE не работает на веб-сайте asp.net - PullRequest
2 голосов
/ 07 марта 2011

Я пытаюсь экспортировать файл Excel с сайта https, он отлично работает с Firefox и другие браузеры, но в IE выдает ошибку, что сайт недоступен или файл не найден.

Я исследовал проблему и обнаружил, что она связана с кэшем, поэтому я изменил заголовки на этой странице, чтобы разрешить кэширование, но он все еще не работает.

это просто код

Response.Cache.SetAllowResponseInBrowserHistory (истина);

    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetMaxAge(new TimeSpan(1, 0, 0));
    Response.Cache.SetAllowResponseInBrowserHistory(true);

    Response.CacheControl = "Public";

любая помощь будет велика, спасибо

1 Ответ

1 голос
/ 22 марта 2013
     #region For Download to work on HTTPS
    Response.ClearHeaders();
    Response.Cache.SetCacheability(HttpCacheability.Private);
    Response.Buffer = true;
    Response.AddHeader("Content-Transfer-Encoding", "binary");
     #endregion
    Response.Clear();      
    Response.AddHeader("content-disposition", "attachment;filename=Temp.xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.xls";
    StringWriter strWriter = new StringWriter();
    HtmlTextWriter htmlWrite = new HtmlTextWriter(strWriter);
    string heading = "<h4 align='left'>Temp Excel Cube</h4>";
    strWriter.Write(heading);
    gvTemp.RenderControl(htmlWrite);
    Response.Write(strWriter.ToString());
    Response.End();

Я думаю, это то, что вы ищете. Это работает для меня на HTTPS , я экспортировал сетку на лист Excel, вы также можете использовать ее для получения файла из физического местоположения. :)

...