ich jQuery bin mit einem Klick auf eine Schaltfläche erkennen, die dann einen Aufruf einer Datei ausgelöst:CSV Chrome heruntergeladen - Fehler: MIME-Typ text/csv
window.location.href = "url";
Diese Datei fragt die Datenbank, liefert Ergebnisse schreibt es dann in eine CSV-Datei. Ich habe die folgenden Header gesetzt:
header('Content-Type: text/csv;');
header('Content-Disposition: attachment; filename=data.csv');
Diese auf alle Browsern außer Chrome arbeiten, die die folgenden Fehler in dem Konsolenprotokoll gibt „Ressource als Dokument interpretiert, sondern mit MIME-Typ text/csv übertragen:‚url‘“.
Das Seltsame ist, dass, wenn ich die Datei direkt aufrufen, funktioniert es in allen Browsern.
Code:
$fp = fopen('php://output', 'w');
header('Content-Type: text/csv;');
header('Content-Disposition: attachment; filename=data.csv');
header("Expires: 0");
header("Cache-control: private");
//Field Headers
$ncols = oci_num_fields($stid);
$headers_row = array();
for ($i = 1; $i <= $ncols; ++$i) {
$headers_row[] = oci_field_name($stid, $i);
}
while ($row = oci_fetch_array($stid, OCI_NUM+OCI_RETURN_NULLS)) {
if(!empty($row)){
if(!empty($headers_row)){
fputcsv($fp, $headers_row);
$headers_row = '';
}
fputcsv($fp, $row);
}
}
fclose($fp);
oci_close($conn);
Wer irgendwelche Ideen hat?
Sie verwenden eine beliebige SESSION-Variable im Abfrageteil? –
@KasparMary Nein, es verwendet ein GET. – Elliot
Erlaubt Chrome den Download nicht? In Chrome bekomme ich das als Warnung, kein Fehler. Ich bin mir nicht sicher, wie ich es beheben kann, aber ich kann meine Datei trotzdem herunterladen. –