This example program demonstrates how to read a file via AJAX as a binary string, as a data URL, and as text in JavaScript.
<!DOCTYPE html>
<html>
<head>
<script language="javascript" type="text/javascript" src="ReadXoaXFileWithAjax.js"></script>
</head>
<body onload="LoadXoaxFileWithAjax()">
<table cellspacing="0" cellpadding="5" border="2" id="idRead">
<tr>
<th>function</th>
<th>text</th>
<th>length</th>
<th>char codes</th>
</tr>
<tr>
<td>readAsBinary()</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>readAsDataURL()</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>readAsText()</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>function LoadXoaxFileWithAjax() {
var qHttpRequest = new XMLHttpRequest();
// Open a german text file
qHttpRequest.open( "GET", "XoaX.txt", true );
qHttpRequest.responseType = "arraybuffer";
qHttpRequest.onload = function( e ) {
var uiaBytes = new Uint8Array( this.response );
var qBlob = new Blob([uiaBytes], {type:"text/plain"});
GetFileInfo(qBlob);
};
qHttpRequest.send();
}
function GetFileInfo(qBlob, i = 1) {
if (i > 3) {
return;
} else {
var qFileReader = new FileReader();
// The callback function
qFileReader.onload = function() {
var sReadData = qFileReader.result;
CreateInfo(sReadData, i);
GetFileInfo(qBlob, i + 1)
}
const kqFile = qBlob;
if (i == 1) {
qFileReader.readAsBinaryString(kqFile);
} else if (i == 2) {
qFileReader.readAsDataURL(kqFile);
} else {
qFileReader.readAsText(kqFile);
}
}
}
function CreateInfo (sData, rowIdx) {
var qReadTable = document.getElementById("idRead");
var qRow = qReadTable.rows[rowIdx];
qRow.cells[1].innerHTML = sData;
qRow.cells[2].innerHTML = sData.length;
var sCharCodes = "";
for (var i=0; i < sData.length; i++) {
sCharCodes += sData.charCodeAt(i) + ((i < sData.length - 1) ? ", ": "");
}
qRow.cells[3].innerHTML = sCharCodes;
}© 20072026 XoaX.net LLC. All rights reserved.