Загрузите dotfile, используя html5 сохраняющее имя

У меня есть структура каталогов, содержащая список каталогов и файлов. Я хочу дать пользователю возможность загрузки файла. Для скачивания я использую HTML5 download приписывать. Работает отлично.

Но у структуры каталогов, которая у меня есть, также могут быть точечные файлы, примеры: .babelrc, .gitignore, .eslintrc, так далее.

Когда я использую ту же технику для загрузки таких файлов, файл загружается с тем же содержимым, но файл больше не является точечным файлом. После загрузки, скажем, .gitignore, файл становится gitignore.txt,

Я использую это для своего проекта github-plus - расширение Chrome для отображения размера каждого файла, ссылки на скачивание и возможности копирования его содержимого.

Любая помощь будет высоко оценен.

Я использую этот формат: <a href="https://raw.githubusercontent.com/softvar/secure-ls/master/.babelrc" title="Download File" download=".babelrc">Download</a>

JSFIDDLE DEMO

1 ответ

Цитирование спецификации HTML5 по загрузке ресурсов с download атрибут о типе файла / расширении:

Если заявленный тип известен, измените имя файла, чтобы добавить расширение, соответствующее заявленному типу.

В противном случае, если известно, что именованный тип потенциально опасен (например, он будет рассматриваться в соответствии с соглашениями платформы как собственный исполняемый файл, сценарий оболочки, приложение HTML или документ с возможностью выполнения макроса), а затем при необходимости измените имя файла, чтобы добавить известный безопасный расширение (например, ".txt").

Кажется, что:

  • часть алгоритма, которая окончательно выбирает имя файла, зависит от платформы
  • если расширение не распознано, как в случае с точечными файлами, браузер попытается определить его, используя тип файла MIME
  • Файлы в любом случае могут рассматриваться как потенциально опасные, поскольку они являются скрытыми файлами на различных платформах. Похоже, это то, что происходит в вашем случае, с удалением начальной точки и .txt расширение добавлено.
Другие вопросы по тегам