2016-04-17 2 views
0

Я пытаюсь экспортировать данные в файл. Экспорт работает отлично для почти всех файлов, но когда я пытаюсь экспортировать большие наборы данных, он не работает.Экспорт javascript не работает для большого файла

любые подсказки?

здесь код

a.href = 'data:' + mimeType + ',' + encodeURIComponent(content); 
a.setAttribute('download', fileName); 
document.body.appendChild(a); 
a.click(); 
+0

с какого объема Ваши данные? Кроме того, что вы ожидаете? Что на самом деле происходит? Есть ли какие-либо ошибки в консоли? – evolutionxbox

+0

Ошибка консоли, но мне удалось решить эту проблему с помощью Blob. Благодаря!!! –

+0

Не могли бы вы дать ответ на свой вопрос о том, как вы его решили и почему он не работал? – evolutionxbox

ответ

0

Я использовал следующую функцию. Не знаю, почему он решил проблему. Я думаю, это браузер.

download(content, fileName, mimeType) { 
     var a = document.createElement('a'); 
     mimeType = mimeType || 'application/octet-stream'; 

     if (navigator.msSaveBlob) { // IE10 
      return navigator.msSaveBlob(new Blob([content], { type: mimeType }),  fileName); 
     } else if ('download' in a) { //html5 A[download] 
      var csvData = new Blob([content], { type: mimeType }); 
      var csvUrl = URL.createObjectURL(csvData); 
      //a.href = 'data:' + mimeType + ',' + encodeURIComponent(content); 
      a.href = csvUrl; 
      a.setAttribute('download', fileName); 
      document.body.appendChild(a); 
      a.click(); 
      console.log(a); 
      //document.body.removeChild(a); 
      /* 
      setTimeout(function() { 
       a.click(); 
       console.log(a); 
       document.body.removeChild(a); 
      }, 66);*/ 

      return true; 
     } else { //do iframe dataURL download (old ch+FF): 
      var f = document.createElement('iframe'); 
      document.body.appendChild(f); 
      f.src = 'data:' + mimeType + ',' + encodeURIComponent(content); 

      setTimeout(function() { 
       document.body.removeChild(f); 
      }, 333); 
      return true; 
     } 
    }, 
Смежные вопросы