firefox (9), javascript, переполнение размера выделения из-за большого файла данных.Есть ли способ избежать этого? - PullRequest
3 голосов
/ 13 января 2012

Я работаю над веб-приложением, которое помимо прочего выполняет первое преобразование, читая файл .csv и преобразуя его в файл .xml.

У меня есть файл размером 20 МБ, который хорошо обрабатывается(поэтому код в порядке).

Но у меня есть файл размером 80 МБ, и процесс останавливается с сообщением в консоли ошибок

Ошибка: переполнение размера выделения

И он указывает на последнюю строку объекта, в котором хранится большая строка xml.

Код в основном разбивает файл .csv, для каждой строки снова разбивает строку, а затем перестраивает содержимое с помощью xmlтеги, которые добавляются в переменную.

Тогда я предполагаю, что с 80 МБ (файл .csv) размер строки слишком велик для Firefox.

Мой вопрос, есть ливсе, что я могу с этим поделать, например, разделение переменной или аналогичные обходные пути?Или это будет потеря времени?

Спасибо

1 Ответ

0 голосов
/ 27 февраля 2018

этот вопрос выглядит очень старым, но я нашел какое-то решение для этого.Вы можете использовать URL API для современных браузеров.

var file = document.getElementById('video').files[0];
window.URL = window.URL || window.webkitURL;
var video = document.querySelector("#vid");
video.preload = 'metadata';
video.onloadedmetadata = function() {
   window.URL.revokeObjectURL(this.src);
   let time = video.duration;
   console.log(video.duration);
}
video.src = URL.createObjectURL(file);
...