Я предлагаю такое решение без какой-либо конкретной библиотеки. Он действительно использует немного современных методов, но может быть полезно для вас:
var openFile = function(event, callback) {
// get target input
var input = event.target;
// create an instance of filereader
var reader = new FileReader();
// define handler to get results
reader.onload = function(e){
var contents = e.target.result;
// use a promise maybe to make this neater
callback(contents);
};
// make sure you tell it to read as text
// also maybe add some validation on your input
// for correct types
reader.readAsText(input.files[0]);
};
var getChunks = function(str){
var chunks = [];
// not best at these things but this should be
// around 1mb max
var chunkSize = 1000000;
// while the chunk is less than the size indicated it goes
// into the same item of array
while (str) {
if (str.length < chunkSize) {
chunks.push(str);
break;
}
else {
chunks.push(str.substr(0, chunkSize));
str = str.substr(chunkSize);
}
}
return chunks;
}
var fileInput = document.querySelector('#jsonUpload');
fileInput.addEventListener('change', function(event){
openFile(event, function(str){
console.log(getChunks(str));
});
});
Тогда он будет читать файл JSon из:
<input type='file' accept='*' id="jsonUpload">
Link to the fiddle
компресса затем распаковывать? –
есть куки-загрузчики, которые вы можете использовать ... например, [plupload] (http://www.plupload.com/). Он также имеет код на стороне сервера на нескольких языках. – charlietfl
разобрать JSON, разделить на многие части, подстроить каждый, загрузить. – dandavis