2013-01-18 31 views
5

Trong Safari, tệp CSV của tôi đang được hiển thị trong trình duyệt thay vì tải xuống bằng cách sử dụng cửa sổ Lưu dưới dạng.Tôi làm cách nào để làm cho Safari tải xuống CSV thay vì hiển thị nó trong trình duyệt?

Tôi đã thử: response.setContentType("text/csv; charset=UTF-8");. Các trình duyệt khác là tốt với tùy chọn thứ hai, nhưng Safari vẫn hiển thị tệp trong trình duyệt thay vì nhắc người dùng lưu nó.

Nhân tiện, tôi đang chạy Liferay.

Tôi đã sửa lỗi bằng cách bao gồm: response.setContentType ("application/csv; charset = UTF-8");

Cảm ơn.

+0

Tôi cũng gặp sự cố này. Bạn đã đặt "response.setContentType (" application/csv; charset = UTF-8 ") ở đâu?"? – Sam

+0

@Sam - Bạn đã giải quyết vấn đề trên chưa. Tôi đang gặp vấn đề tương tự. Hãy giúp tôi. –

Trả lời

2

text/csv sẽ là thích hợp nhất cho loại nội dung. Bạn cũng muốn đặt bố cục nội dung như sau:

response.setHeader("Content-Disposition", "attachment;filename=" + filename); 
1

Tôi nghĩ bạn cần phải set the Content-Disposition HTTP header as well.

Phần header HTTP sẽ trông như thế này:

Content-Disposition: attachment; filename=WHATEVER_FILENAME_YOU_WANT 

Liệu đối tượng response có một phương pháp setContentDisposition quá?

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