2013-02-01 31 views
7

Tôi đang sử dụng jQuery để nhận ra một nhấp chuột vào một nút mà sau đó cháy một cuộc gọi đến một tập tin:CSV tải về Chrome - Lỗi: MIME loại text/csv

window.location.href = "url"; 

Tập tin này truy vấn cơ sở dữ liệu, trả về kết quả sau đó ghi nó vào một tệp CSV. Tôi đã tiêu đề sau thiết lập:

header('Content-Type: text/csv;'); 
header('Content-Disposition: attachment; filename=data.csv'); 

này hoạt động trên tất cả các trình duyệt Chrome trừ mà trả về lỗi sau đây trong giao diện điều khiển log "Resource hiểu là tài liệu nhưng chuyển với kiểu MIME text/csv: 'url'".

Điều kỳ lạ là nếu tôi gọi trực tiếp tệp, nó hoạt động trong tất cả các trình duyệt.

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); 

Bất cứ ai có ý tưởng nào?

+0

Bạn đang sử dụng bất kỳ biến SESSION nào trong phần truy vấn? –

+0

@KasparMary Không, nó sử dụng GET. – Elliot

+0

Chrome có cho phép tải xuống không? Trong chrome tôi nhận được điều này như một cảnh báo, không phải là một lỗi. Bạn không chắc chắn cách khắc phục nhưng tôi vẫn có thể tải xuống tệp của mình. –

Trả lời

0

tiêu đề ("loại nội dung: ứng dụng/lực tải xuống");

+0

Tôi hiện đang gặp phải lỗi này: Tài nguyên được hiểu là Tài liệu nhưng được chuyển với ứng dụng loại MIME/lực tải xuống: "ur" – Elliot

+0

bạn đang làm gì tiếp theo sau khi bạn đặt tiêu đề? –

+0

Truy vấn cơ sở dữ liệu, tôi đặt tiêu đề khá nhiều ở đầu tệp. – Elliot

0

tiêu đề ("Hết hạn: 0");

tiêu đề ("Kiểm soát bộ nhớ cache: riêng tư");

+0

Vẫn gặp lỗi giống như được hiển thị trong bài đăng gốc. – Elliot

Các vấn đề liên quan