Big file loader in chunks for browser
Package is available in npm. It's in cjs,es and iife format so it will work correctly with all popular bundlers(webpack) and also nodejs.
npm install readery --saveUsing yarn
yarn add readery --saveFor direct usage without bundler, use iife format and import file directly:
<script src="dist/readery.iife.min.js"></script>import {readFromFile} from "readery"
readFromFile(readFromFile(
file,
dataCb,
loadingProgressCb = progress => {},
finishedCb = () => {},
config = { splitBy: /\r?\n/, encoding: "UTF-8" },
chunkSize = 256 * 1024
)If splitBy is undefined then there is no splitting.
<body>
<input type="file" id="file-input" name="file" />
<script>
function handleFileSelect(evt) {
var file = evt.target.files[0];
readery.readFromFile(file, d => {
console.log("Chunk = ", d);
},
p => { console.log("Progress: " + p) },
() => { console.log("finished")
});
}
document.getElementById('file-input').addEventListener('change', handleFileSelect, false);
</script>
</body>- browser with FileReader compatibility IE11 => 11, for details see https://caniuse.com/#search=FileReader
The code in this project is licensed under MIT license.

