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

StackOverflow https://stackoverflow.com/questions/1741353

Вопрос

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

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

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

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

"привязанность;имя файла="myfile.txt ""

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

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

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

Это было полезно?

Решение

Правильным способом могло бы быть:

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top