2013-02-01 10 views
7

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?

+0

Si sta utilizzando una variabile SESSION nella parte della query? –

+0

@KasparMary No, utilizza un GET. – Elliot

+0

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. –

risposta

0

intestazione ("content-type: application/force-download");

+0

Ora sto ricevendo questo errore: Risorsa interpretata come Documento ma trasferita con tipo MIME application/force-download: "ur" – Elliot

+0

cosa stai facendo dopo aver impostato le intestazioni? –

+0

Interrogando il database, ho impostato le intestazioni praticamente nella parte superiore del file. – Elliot

0

intestazione ("Scade: 0");

intestazione ("Cache-control: private");

+0

Ancora ricevendo lo stesso errore come mostrato nel post originale. – Elliot

Problemi correlati