Как Chrome определяет имя загруженного файла на диске? - PullRequest
0 голосов
/ 22 апреля 2019

Как Chrome определяет имя файла, сохраняемого на диск при загрузке файла?

Всякий раз, когда я загружаю файл с определенного веб-сайта, над которым я работаю (как разработчик), Chrome добавляет подчеркивание в конец расширения файла. (См .: Chrome в Windows, добавление подчеркивания к загруженным файлам? ). Я поиграл с различными заголовками типа контента и расположения контента, и кажется, что Chrome игнорирует имя файла, указанное в заголовке Content-Disposition. Например, если я сделаю запрос на загрузку файла, и ответ вернется со следующими заголовками (среди прочих):

Content-Disposition: attachment;filename="example.pdf"
Content-Type: application/pdf

... имя файла, сохраненного на диск, остается исходным именем файла. В этом примере исходный файл называется test.pdf, и вместо сохранения его как example.pdf (как указано в Content-Disposition) он сохраняется на диск как test.pdf. Похоже, что это справедливо для любого типа файла - даже такого простого, как файл .txt. Кажется, что нет никаких других заголовков ответа HTTP, диктующих имя файла.

Есть ли что-то особенное, что делает Chrome, чтобы определить имя файла, сохраняемого на диск? Если да, возможно ли переопределить это поведение?

Я понимаю, что Chrome переименует определенные загруженные файлы, которые он считает угрозой безопасности (например, переименование .lnk в .download), но даже в таком случае он по-прежнему игнорирует мои заголовки Content-Disposition для безопасного файла типы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...