Chrome, Firefox преобразуют ":" в "-" и "_" соответственно в диалоге сохранения файла

Я пытаюсь сохранить файл с помощью библиотеки FileSaver, которая сохранит файл с помощью Chrome и Firefox Save As Диалог.

Пример: у меня есть определенное имя файла, например, test: testing1: testing2.csv.

Теперь, когда Save As появляется диалоговое окно, я вижу, что имя файла преобразовано в

testing-testing1-testing2.csv для Chrome

а также

testing_testing1_testing2.csv для Firefox.

Есть ли способ, которым мы можем подавить это преобразование символов?

Спасибо

2 ответа

Решение

Нет.

Имена файлов не могут содержать, кроме других символов, двоеточие : (на машинах Windows). Если вы хотите убедиться, что ваше приложение совместимо с Windows, имейте это в виду.

Это запрещенные персонажи:

\ / : * ? " < > |

Firefox и Chrome, вероятно, заменяют все эти символы тире / подчеркиванием.

Имя файла является просто предложением. RFC 2616 утверждает, что:

19.5.1. Содержание-расположение

Поле заголовка ответа Content-Disposition было предложено для исходного сервера, чтобы предложить имя файла по умолчанию, если пользователь запрашивает, чтобы содержимое было сохранено в файл. Это использование происходит от определения Content-Disposition в RFC 1806 [35].

RFC 1806 далее заявляет, что:

Важно, чтобы принимающий MUA не слепо использовал предложенное имя файла. Предлагаемое имя файла ДОЛЖНО быть проверено (и, возможно, изменено), чтобы убедиться, что оно соответствует соглашениям локальной файловой системы, не перезаписывает существующий файл и не представляет проблемы безопасности (см. Раздел "Вопросы безопасности" ниже).

Короче говоря, разные файловые системы имеют разные ограничения на имена файлов. Браузер может исправить имя файла, если его нельзя использовать как есть.

Другие вопросы по тегам