diff --git a/invenio_previewer/assets/bootstrap3/js/invenio_previewer/csv_previewer/init.js b/invenio_previewer/assets/bootstrap3/js/invenio_previewer/csv_previewer/init.js index 6f04dffb43953bb087b6e9e73370618c1b466d98..72b6a038e97d024916513460e6b5745621afe54e 100644 --- a/invenio_previewer/assets/bootstrap3/js/invenio_previewer/csv_previewer/init.js +++ b/invenio_previewer/assets/bootstrap3/js/invenio_previewer/csv_previewer/init.js @@ -18,6 +18,7 @@ import Papa from "papaparse"; } const URL = $("#app").attr("data-csv-source"); + const fileSize = $("#app").attr("data-csv-size"); const maxRowsPerChunk = 50; const $tableHeader = $("#table-header"); const $tableBody = $("#table-body"); @@ -33,6 +34,11 @@ import Papa from "papaparse"; papaParser.resume(); }); + // If the RemoteChunkSize is bigger than the size of the file it fails with a 416 + if (fileSize < Papa.RemoteChunkSize) { + Papa.RemoteChunkSize = fileSize + } + Papa.parse(URL, { download: true, skipEmptyLines: true, diff --git a/invenio_previewer/assets/semantic-ui/js/invenio_previewer/csv_previewer/init.js b/invenio_previewer/assets/semantic-ui/js/invenio_previewer/csv_previewer/init.js index 6f04dffb43953bb087b6e9e73370618c1b466d98..72b6a038e97d024916513460e6b5745621afe54e 100644 --- a/invenio_previewer/assets/semantic-ui/js/invenio_previewer/csv_previewer/init.js +++ b/invenio_previewer/assets/semantic-ui/js/invenio_previewer/csv_previewer/init.js @@ -18,6 +18,7 @@ import Papa from "papaparse"; } const URL = $("#app").attr("data-csv-source"); + const fileSize = $("#app").attr("data-csv-size"); const maxRowsPerChunk = 50; const $tableHeader = $("#table-header"); const $tableBody = $("#table-body"); @@ -33,6 +34,11 @@ import Papa from "papaparse"; papaParser.resume(); }); + // If the RemoteChunkSize is bigger than the size of the file it fails with a 416 + if (fileSize < Papa.RemoteChunkSize) { + Papa.RemoteChunkSize = fileSize + } + Papa.parse(URL, { download: true, skipEmptyLines: true, diff --git a/invenio_previewer/templates/invenio_previewer/csv_bar.html b/invenio_previewer/templates/invenio_previewer/csv_bar.html index a898cb96f084b57b4f2602bf81275a7d8a876a62..736fb5c506fbff5598e9027b19f6230338d662c9 100644 --- a/invenio_previewer/templates/invenio_previewer/csv_bar.html +++ b/invenio_previewer/templates/invenio_previewer/csv_bar.html @@ -10,7 +10,7 @@ {%- extends config.PREVIEWER_ABSTRACT_TEMPLATE %} {% block panel %} -<div id="app" data-csv-source="{{ file.uri }}"> +<div id="app" data-csv-source="{{ file.uri }}" data-csv-size="{{file.size}}"> <table class="ui selectable celled table unstackable"> <thead id="table-header"> </thead> diff --git a/invenio_previewer/templates/semantic-ui/invenio_previewer/csv_bar.html b/invenio_previewer/templates/semantic-ui/invenio_previewer/csv_bar.html index 7bba22c29ba7500874a37e479d80b59bade7c3e3..670d9c72f7ff214d2d2eee594b4feb3533e4125a 100644 --- a/invenio_previewer/templates/semantic-ui/invenio_previewer/csv_bar.html +++ b/invenio_previewer/templates/semantic-ui/invenio_previewer/csv_bar.html @@ -10,7 +10,7 @@ {%- extends config.PREVIEWER_ABSTRACT_TEMPLATE %} {% block panel %} -<div id="app" data-csv-source="{{ file.uri }}"> +<div id="app" data-csv-source="{{ file.uri }}" data-csv-size="{{file.size}}"> <table class="ui selectable celled table unstackable"> <thead id="table-header"> </thead>