Zwracam strumień w jakiejś odpowiedzi ustawiając odpowiedni content-type
nagłówek. Zachowanie, którego szukam, jest następujące:
Jeśli przeglądarka jest w stanie renderować zawartość danego typu treści, to powinna wyświetlić ją w oknie przeglądarki.
Jeśli przeglądarka nie wie, jak wyrenderować zawartość, powinna wyświetlić okno dialogowe „zapisz jako”, w którym nazwa pliku powinna być zgodna z nazwą podaną w odpowiedzi.
Problem w tym, że jeśli ustawię Content-Disposition
nagłówek z:
"załącznik; filename =" myfile.txt ""
przeglądarka zawsze wyświetli okno dialogowe „Zapisz jako”.
Jeśli nie ustawię Content-Disposition
, nazwa pliku użyta w oknie dialogowym „Zapisz jako” to ta w adresie URL, która nie działa w moim przypadku.
Próbowałem również ustawienie Content-Disposition
na inline
ale wynik jest taki sam.
"
) wokół nazwy pliku. Jeśli masz w nazwie pliku znaki spoza zestawu ASCII, powinieneś zobaczyć to drugie pytanie, aby omówić, co robić.Nie jestem pewien, czy jest to domyślnie możliwe. Ze względów bezpieczeństwa przeglądarki nie wysyłają wszystkich typów treści, które mogą obsłużyć, ale tylko kilka
Accept-Encoding
, co nie pomaga zbytnio w Twoim scenariuszu.Może możesz zapytać użytkownika, co woli, i zapisać te informacje w jego profilu.
źródło