Как установить имя файла ответа без принудительного сохранения диалогового окна



Я возвращаю поток в некотором ответе, устанавливая соответствующий заголовок типа контента. Поведение, которое я ищу, это:




  • Если браузер способен отображать содержимое данного типа контента, то он должен отображать его в окне браузера.


  • Если браузер не знает, как отображать содержимое, он должен отображать диалоговое окно saveas, в котором имя файла должно быть указано в ответ.



проблема в том, что если я установлю заголовок Content-Disposition с:




"attachment; filename=" myfile.txt""




браузер всегда будет отображать диалоговое окно savesas.



Если я не устанавливаю Content-Disposition, имя файла, используемое в диалоговом окне saveas, является тем, что в url-адресе не работает в моем случае.



Я также попытался установить Content-Disposition в inline, но результатом является тот же.

531   2  

2 ответов:

правильный путь может быть:

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

Я не уверен, что это возможно по умолчанию. По соображениям безопасности браузер не отправляет все типы контента, которые он может обрабатывать, но всего несколько Accept-Encoding, что не очень помогает в вашем сценарии.

возможно, вы можете спросить своего пользователя, что он / она предпочитает, и сохранить эту информацию в своем профиле.

Comments

    Ничего не найдено.