Herunterladen einer Datei über HTTPS in IE8 mit ASP.NET

8

Ich versuche, es dem Benutzer zu ermöglichen, eine Excel-Tabelle von unserer Seite herunterzuladen, indem er eine Schaltfläche hat, die durch diese umleitet:

%Vor%

Die aspx-Seite sendet die Datei einfach über das Response-Objekt zurück:

%Vor%

Alles funktioniert auf meinem Rechner einwandfrei, aber wenn wir es auf den Server stellen, gibt uns https in Verbindung mit No-Cache-Einstellungen einen Fehler, der besagt: "Internet Explorer kann [blahblahblah] nicht herunterladen". Die Cache-Einstellungen auf der Seite mit der Excel-Schaltfläche:

%Vor%

Wenn ich diese Zeilen entferne, funktioniert alles gut. Ich bin jedoch nicht berechtigt, sie aus anderen Gründen zu entfernen. So habe ich versucht, die folgende Zeile der ExcelForm.aspx direkt vor dem Hinzufügen von Sachen zum Header hinzuzufügen:

%Vor%

Das gibt mir nur "Internet Explorer kann ExcelForm.aspx nicht von [url] herunterladen". Und da stecke ich fest. Vorschläge?

    
Peter Evjan 05.11.2009, 17:12
quelle

3 Antworten

15

Ich hatte kürzlich ein ähnliches Problem, als ich CSV-Dateien von einer MVC-Controller-Methode exportiere. Ich habe Folgendes gefunden:

%Vor%

Das Problem für mich in IE gelöst

Hoffe, das hilft!

    
Jamie Dixon 05.11.2009, 17:18
quelle
3

Ich hatte auch das gleiche Problem,

Als ich es googelte, fand ich, dass "no chache" -Einstellungen im Antwort-Header, d. h. folgender Code, der Grund für das Problem ist.

%Vor%

Einige der Blogs sagen, um dieses Problem zu beheben, sollten Sie einige Änderungen in der Windows-Registrierung auf dem Webserver und auf allen Client-Rechnern vornehmen (: O). Nun ist es nicht machbar, Registrierungseinstellungen auf jedem Client-Rechner vorzunehmen. p>

Die Grundursache sind No-Cache-Einstellungen im Antwort-Header, also habe ich gerade

hinzugefügt %Vor%

, bevor Inhalte hinzugefügt werden, die in den Antwortheader heruntergeladen werden sollen. Der Code ist wie folgt,

%Vor%

Das Problem wurde behoben.

Viel Spaß !!!

    
Vinod T. Patil 09.07.2010 08:51
quelle
0

Ich hatte genau das gleiche Problem, dass ich einen binären Stream über IE8 nicht herunterladen konnte

Nach den Informationen auf dieser Seite sieht mein neuer Code wie

aus
  • Antwort.ClearHeaders ();
  • Response.ContentType="application / octet-stream";
  • Response.AppendHeader ("content-disposition", string.Format ("Anhang; Dateiname = {0}", "Nameder Datei.exe"));
  • Antwort.BinärWrite (Bytes);
  • Antwort.End ();

und jetzt funktioniert es wie ein Charme unter allen Browsern

    
Yannick Richard 27.01.2014 20:53
quelle

Tags und Links