Как установить имя файла ответа без принудительного сохранения диалога
Я возвращаю поток в некотором ответе, устанавливая соответствующий заголовок типа контента. Поведение, которое я ищу, таково:
Если браузер может отображать содержимое данного типа содержимого, он должен отобразить его в окне браузера.
Если браузер не знает, как отобразить содержимое, он должен отобразить диалоговое окно сохранения, в котором имя файла должно соответствовать указанному в ответе.
Проблема в том, что если я устанавливаю заголовок Content-Disposition с помощью:
"attachment; filename =" myfile.txt ""
браузер всегда будет отображать диалог сохранения.
Если я не установлю Content-Disposition, имя файла, используемое в диалоге saveas, будет тем, которое в URL не работает в моем случае.
Я также попытался установить Content-Disposition для встроенного, но результат тот же.
2 ответа
Правильный путь может быть:
Content-Disposition: inline; filename="myfile.txt"
Я не уверен, возможно ли это по умолчанию. Из соображений безопасности браузер отправляет не все типы контента, которые он может обработать, а лишь несколько Accept-Encoding
, что не очень помогает в вашем сценарии.
Может быть, вы можете спросить своего пользователя, что он / она предпочитает, и сохранить эту информацию в своем профиле.