Frage

Ich gebe einen Benutzer auf einen Link eine CSV-Datei zum Download ... nur mit

Click <a href="report.csv">here</a> to download your file.

Dieser Text und Link in einem kleinen Popup-Fenster angezeigt wird -. Höhe 100 Breite 400

Wenn der Benutzer klickt auf „Speichern“ - dann kein Problem, dann wird die Datei gespeichert, wo sie wählen

Wenn obwohl sie wählen „offen“ die CSV-Datei wird dann in dem kleinen Popup-Fenster angezeigt. Welche isn;. T, was ich will - ich würde es vorziehen, Excel die Datei in Excel zu öffnen und anzuzeigen, oder sogar die „offen“ zu deaktivieren, um eine mögliche Option sein kann

Irgendwelche Ideen, wie ich entweder erreichen kann?

Danke,

War es hilfreich?

Lösung

Ich gehe davon aus, dass Sie die Popup-Fenster mit einigen Javascript öffnen .. so würde ich vorschlagen, Show / öffnen Sie Ihre kleine „download“ Pop-up-Box nicht und stattdessen auf einer Webseite auf diesen Link zeigen. Also, wenn jemand auf den Link klickt auf den Browser zwingen, die Datei zu downloaden und wenn sie wollen, es öffnen sie können und wahrscheinlich einen Blick bekommen, die so breit ist wie der browswer der Fenstergröße.

// nur zum Beispiel Download einer ZIP-Datei zu erzwingen, die Header als

senden
// Set headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");

Andere Tipps

Sie haben keine Macht über Benutzereinstellungen wie der Dateityp durch die Anwendung geöffnet wird. Sie müssten ihre Einstellungen gehen und die Dateizuordnung ändern. Doch bedenken Sie nicht jeder hat Excel installiert ist, so ist es keine gute Idee, um den Benutzer zu zwingen, die CSV-Datei in dieser speziellen Anwendung zu öffnen.

Ich glaube nicht, dass auch Sie die Option öffnen deaktivieren, dies auch durch den Webbrowser Konfiguration diktiert wird, ob er will oder nicht aus dem Fenster angezeigt werden oder es wird die zugehörige Anwendung direkt etc starten ... es scheint, dass Sie‘ wieder kein Glück in Ihrem speziellen Fall.

Ich glaube, die OS-Ebene und kann nicht geändert werden.

Eine Halb Lösung ist das Hinzufügen target="_blank" mit dem Tag. Auf diese Weise, wenn Benutzer die ‚offene‘ Option wählen, zumindest die Datei wird in einem neuen (Vollbild, oder zumindest die Größe veränderbar) Fenster geöffnet werden.

Other than that, können Sie das Verhalten des Fensters ändern, wie ceejayoz angegeben.

  • Stellen Sie sicher, dass Sie keine andere Ausgabe tun vor diesem Punkt
  • Erstellen Sie Ihre CSV-String und speichern sie in $ csvString
  • Geben Sie ihm den entsprechenden Dateinamen in $ csv_filename
  • Die Header sollte dem Browser mitteilen, es in Excel zu laden

    header("Cache-Control: maxage=1");

    header("Pragma: public");

    header("Content-Type: application/vnd.ms-excel");

    header("Expires: 0");

    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

    header("content-disposition: attachment;filename=$csv_filename");

    echo $csvString;

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top