10
0
mirror of https://github.com/LCPQ/QUESTDB_website.git synced 2024-12-26 06:14:38 +01:00
QUESTDB_website/static/js/getTextFromFile.js
2020-11-16 12:56:16 +01:00

54 lines
1.3 KiB
JavaScript

var fileCache = function () {
var json_url = "/data/database.json";
var req = new XMLHttpRequest();
req.open("GET",json_url, false);
req.send();
return JSON.parse(req.responseText);
}
_cache = fileCache();
function getTextFromFileUrl(url,header={}) {
return _cache[url];
}
async function getTextFromFileUrlAsync(url,header={}) {
return new Promise(function (resolve, reject) {
var req = new XMLHttpRequest();
req.open("GET",url, true);
for (const [key, val] of Object.entries(header)) {
req.setRequestHeader(key,val)
}
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200 || req.status==304) {//when a good response is given do this
var text = req.responseText;
resolve(text);
} else {
reject({
status: req.status,
statusText: req.statusText
});
}
}
}
req.send();
});
}
async function getTextFromUploadedFileAsync(inputFile){
const temporaryFileReader = new FileReader();
return new Promise((resolve, reject) => {
temporaryFileReader.onerror = () => {
temporaryFileReader.abort();
reject(new DOMException("Problem parsing input file."));
};
temporaryFileReader.onload = () => {
resolve(temporaryFileReader.result);
};
temporaryFileReader.readAsText(inputFile);
});
};