Как заставить расширение имени файла загруженного сжатого URI данных? - PullRequest
4 голосов
/ 07 января 2012

У меня есть файл JavaScript GZipped, который я кодирую данными: URI.

Например:

<a href="data:application/x-gzip;base64,FOO">My Javascript File</a>

Когда пользователь щелкает правой кнопкой мыши и сохраняет этот файл (в Chrome) Мне бы хотелось, чтобы имя получившегося файла было download.js.gz.Таким образом, когда пользователь дважды щелкает этот файл (в Mac OS X), он распаковывается и корректно переименовывается в download.js, и они могут легко просматривать содержимое.

Проблема заключается в том, что при использовании содержимоговведите text/javascript (или application/x-javascript), файл будет сохранен как download.js.И когда я использую тип содержимого application/x-gzip, файл сохраняется как download.gz.

Есть ли способ получить файл для сохранения как .js.gz?

Вотрабочий пример обеих ссылок: http://jsfiddle.net/xYm8w/3/

Файл должен представлять собой данные URI, а не ссылку на фактический файл.Я попытался изменить текст между тегами <a>, но это ни на что не влияет.

1 Ответ

4 голосов
/ 09 января 2012

Кажется, что нет способа сделать это в браузерах, кроме Chrome.Поэтому лучший вариант, о котором я мог бы подумать, - это информировать пользователя о том, чтобы он сохранял файл в обычном режиме (чтобы он автоматически вставлял правильное расширение в зависимости от типа контента), а затем заставлял их переходить в finder и переименовывать файл, чтобы добавитьрасширение .gz '.

В Chrome, однако, вы можете использовать атрибут download тега <a> (который я обнаружил по этого ответа ).Пример: http://jsfiddle.net/pYpqW/

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