У меня есть большие данные в виде объекта JSON в javascript. Я преобразовал его в строку, используя JSON.stringify(). Теперь мой вариант использования - предоставить эту большую строку в текстовом файле пользователю. Поэтому для этого я написал код ниже.
HTML-код
<button id='text_feed' type="submit">Generate ION Feed</button>
<a href="data:attachment/txt" id="textLink" download="feed.txt"></a>
Код Javascript
var text = //huge string
$("#text_feed").click(function() {
_generateFeed(text);
});
var _generateFeed = function(text) {
//some code here
$("#textLink").attr("href",
"data:attachment/txt," + encodeURIComponent(text)) [0].click();
});
};
Проблема. Когда длина строки мала, я могу загрузить данные. Но когда длина строки увеличивается ( > 10 ^ 5), моя страница падает. Это произошло потому, что "encodeUriComponet (текст)" не может кодировать большие данные.
Я также пробовал window.open("data:attachment/txt," + encodeURIComponent(text));
Но снова моя страница разбилась по той же причине, что и encodeURIComponet не смог кодировать такую большую строку.
Другой подход:. Я также думал о записи данных в файл с использованием API-интерфейса для записи файлов HTML5, но он имеет поддержку только в браузере Chrome, но мне нужно сделать эту работу для atleast firefox и хром оба.
Пример использования Я не хочу делать несколько загрузок, разбивая данные, поскольку в конце концов мне нужно иметь данные в одном файле.
И моя цель - поддерживать строку длиной примерно 10 ^ 6. Может ли кто-нибудь помочь мне, как загрузить/записать этот объем данных в один файл.