Загрузка файла по требованию дает сетевую ошибкуJavascript

Форум по Javascript
Ответить
Anonymous
 Загрузка файла по требованию дает сетевую ошибку

Сообщение Anonymous »

Я создаю веб-игру в React, и одной из ее особенностей будет то, что вы сможете создать свой собственный файл игры, используя интерфейс. Я хотел бы иметь возможность загрузить файл в формате .json, чтобы вы могли либо загрузить его и воспроизвести, либо загрузить резервную копию и поработать над ним позже.
Однако, когда я нажимаю кнопку для загрузки файла, я получаю сетевую ошибку, и файл не загружается. Я взял объект JSON (около 160 КБ), представляющий игру, и закодировал его:

Код: Выделить всё

const dataStr = 'data:text/json;charset=utf-8' + encodeURIComponent(JSON.stringify({ rounds: [...stuff] }));
Затем я попытался создать элемент привязки, присвоив его «href» значению dataStr, а затем программно щелкнув по нему. Основываясь на этой заметке, я также попробовал добавить к ней тайм-аут:

Код: Выделить всё

const dlAnchorElem = document.createElement('a');
dlAnchorElem.setAttribute('href', dataStr);
dlAnchorElem.setAttribute('download', 'game.json');
setTimeout(() => {
dlAnchorElem.click();
dlAnchorElem.remove();
}, 100);
Как бы то ни было, в обычном JS-приложении этот подход работал.
Я также пробовал импортировать пакет «file-saver» и использовать saveAs. Оба подхода выдали мне «сетевую ошибку», что странно, поскольку при этом интерфейс не отправляет никаких запросов на сервер — все данные уже находятся во интерфейсе.
Кто-нибудь знает, почему это происходит и как с этим бороться?
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/798 ... work-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»