Sto usando jQuery per riconoscere un clic su un pulsante che poi spara una chiamata a un file:CSV scaricato Chrome - Errore: tipo MIME text/csv
window.location.href = "url";
Questo file interroga il database, restituisce i risultati quindi lo scrive in un file CSV. Ho le seguenti intestazioni set:
header('Content-Type: text/csv;');
header('Content-Disposition: attachment; filename=data.csv');
Questo funziona su tutti i browser tranne Chrome, che restituisce il seguente errore nel registro console "Risorsa interpretato come documento, ma trasferito con il tipo MIME text/csv: 'url'".
La cosa strana è che se chiamo il file direttamente funziona in tutti i browser.
Codice:
$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);
Chiunque ha ottenuto tutte le idee?
Si sta utilizzando una variabile SESSION nella parte della query? –
@KasparMary No, utilizza un GET. – Elliot
Chrome non consente il download? In chrome, ricevo questo come un avvertimento, non un errore. Non so come risolverlo ma posso ancora scaricare il mio file. –