Подтвердить что ты не робот

"Aw, Snap", когда данные uri слишком велики

Я пишу расширение chrome, которое делает следующее:

  • Загрузка файла с веб-сайта в память с помощью XMLHttpRequest
  • Добавляет дополнительные данные в файл, а затем base64 кодирует результат в переменную total_encoded_data
  • Предоставляет данные пользователю, используя <a href=data:application/octet-stream;charset=utf-8;base64,' + total_encoded_data+' download='file.bin'>Click to Download</a>. Где total_encoded_data добавляется в href с помощью jQuery.

Я обнаружил через ручной двоичный поиск, что если размер total_encoded_data больше 2097100 символов, тогда я получу сообщение Aw, Snap, когда я нажму ссылку. Если размер меньше, то я могу скачать, как ожидалось.

В дополнение к тестированию файла, я также использовал atoi, чтобы убедиться, что кодировка base64 действительна и работает без ошибок.

Сообщения Aw, Snap не генерируют отчеты о сбоях в chrome://crashes или любые неожиданные результаты в chrome_debug.log

Как избежать сообщения Aw, Snap при обслуживании uri данных, где длина строки в кодировке base64 больше 2097100?

4b9b3361