Jak ustawić nazwę pliku odpowiedzi bez wymuszania okna saveas

Zwracam strumień w jakiejś odpowiedzi ustawiając odpowiedni nagłówek content-type. Zachowanie, którego szukam jest takie:

  • Jeżeli przeglądarka jest w stanie renderować zawartość danego typu content-type to powinna ją wyświetlić w oknie przeglądarki.

  • Jeśli przeglądarka nie wie, jak renderować zawartość, powinna wyświetlić okno saveas, w którym nazwa pliku powinna być podana w odpowiedzi.

Problem, że jeśli ustawiłem Content-Disposition header with:

"attachment; filename=" myfile.txt ""

Przeglądarka zawsze wyświetli okno savesas.

Jeśli nie ustawiam Content-Disposition nazwa pliku używana w oknie saveas jest tą w adresie url, która nie działa w moim przypadku.

Próbowałem również ustawić Content-Disposition na inline, ale wynik jest taki sam.

Author: Hugo Palma, 2009-11-16

2 answers

Prawidłowym sposobem może być:

Content-Disposition: inline; filename="myfile.txt"

 144
Author: Patonza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-15 15:39:07

Nie jestem pewien, czy jest to możliwe domyślnie. Ze względów bezpieczeństwa przeglądarka nie wysyła wszystkich typów treści, z którymi może sobie poradzić, ale tylko kilka Accept-Encoding, co nie pomaga w Twoim scenariuszu.

Być może możesz zapytać użytkownika, co on / ona preferuje, i zapisać te informacje w swoim profilu.

 3
Author: Rubens Farias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-16 11:00:49