2013-01-18 11 views
5

W Safari moje pliki CSV są wyświetlane w przeglądarce, zamiast pobierać je za pomocą okna Zapisz jako.Jak mogę zrobić, aby Safari pobierał plik CSV zamiast wyświetlać go w przeglądarce?

Próbowałem: response.setContentType("text/csv; charset=UTF-8");. Inne przeglądarki są w porządku z drugą opcją, ale Safari nadal wyświetlał plik w przeglądarce zamiast monitować użytkownika o zapisanie.

Nawiasem mówiąc, używam Liferay.

Naprawiłem to, włączając to: response.setContentType ("application/csv; charset = UTF-8");

Dzięki.

+0

Mam również ten problem. Gdzie umieściłeś "response.setContentType (" application/csv; charset = UTF-8 ");"? – Sam

+0

@Sam - Czy rozwiązałeś powyższy problem. Cierpię z tego samego problemu. Proszę pomóż. –

Odpowiedz

2

text/csv będzie najbardziej odpowiedni dla typu zawartości. Możesz także ustawić Content-Disposition tak:

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

myślę musisz set the Content-Disposition HTTP header as well.

Nagłówek HTTP powinien wyglądać następująco:

Content-Disposition: attachment; filename=WHATEVER_FILENAME_YOU_WANT 

Czy przedmiot response mieć metodę setContentDisposition też?