Комментарии 16
Надо посмотреть, как это реализовано у Микрософт, когда скачиваешь с сайта обновлений несколько файлов сразу — они в результате скачиваются без всяких там дополнительных запросов (но проверял в файрфоксе, а не в хроме, может, ФФ либеральнее). Я бы сделал через создание iframe или XHR раз в Х секунд, пока каждый не запустился, в каждом вызывается один запрос на скачивание одного файла, результат — браузер получает команду от страницы "скачать раз файл, подождать, скачать два файл" и не упирается рогом. (PS: я не разработчик на Javascript, поэтому могу немного напутать в терминах)
Введём дополнительное условие: у пользователя нет установленного архиватора, поэтому вариант со сжатием в архив отбрасываем.
Но на Windows 95 у пользователя и Хрома может не оказаться. И настройки в Хроме пользователю придется менять с "безопасных". Так что вариант "скачать архивом" выглядит как более жизнеспособный. (В какой системе нет возможности работать с зип-архивом "искаропки"?)
Для зип архивов, если мне память не изменяет, нет спецификации на кодировку имени файла. Поэтому имена там скорее всего в CP1251. Когда-то давно в gmail даже спрашивало, в какой кодировке формировать архив.
If general purpose bit 11 is set, the filename and comment MUST support The Unicode Standard, Version 4.1.0 or greater using the character encoding form defined by the UTF-8 storage specification.pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
Good point. Только появилось оно там довольно поздно. На 2017 год, как минимум, не было поддержки в популярном 7zip. Ну и вот этот коммент сильно ограничивает в применении 11 бита:
Note that, for backward compatibility, bit 11 SHOULD only be used if the native character set of the paths and comments being zipped up are already in UTF-8.
Введём дополнительное условие: у пользователя нет установленного архиватора, поэтому вариант со сжатием в архив отбрасываем.
Ну, во первых, таких пользователей очень и очень мало. А знаете кого ещё меньше? Пользователей, которые полезут менять настройки хром для конкретного сайта.
Кстати насчёт jszip - это очень удобный, быстрый и стабильный инструмент. Рекомендую.
Как обойти ограничение браузера и прикрепить сразу два файла и более: мультидобавление файлов