Created
July 28, 2015 04:48
-
-
Save aloyr/3fb3ad778145036e575f to your computer and use it in GitHub Desktop.
test of filereader js api
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<!-- code below from http://stackoverflow.com/a/13709663/187468 --> | |
<html> | |
<head> | |
<title>Read File (via User Input selection)</title> | |
<script type="text/javascript"> | |
var reader; //GLOBAL File Reader object for demo purpose only | |
/** | |
* Check for the various File API support. | |
*/ | |
function checkFileAPI() { | |
if (window.File && window.FileReader && window.FileList && window.Blob) { | |
reader = new FileReader(); | |
return true; | |
} else { | |
alert('The File APIs are not fully supported by your browser. Fallback required.'); | |
return false; | |
} | |
} | |
/** | |
* read text input | |
*/ | |
function readText(filePath) { | |
var output = ""; //placeholder for text output | |
if(filePath.files && filePath.files[0]) { | |
reader.onload = function (e) { | |
output = e.target.result; | |
displayContents(output); | |
};//end onload() | |
reader.readAsText(filePath.files[0]); | |
}//end if html5 filelist support | |
else if(ActiveXObject && filePath) { //fallback to IE 6-8 support via ActiveX | |
try { | |
reader = new ActiveXObject("Scripting.FileSystemObject"); | |
var file = reader.OpenTextFile(filePath, 1); //ActiveX File Object | |
output = file.ReadAll(); //text contents of file | |
file.Close(); //close file "input stream" | |
displayContents(output); | |
} catch (e) { | |
if (e.number == -2146827859) { | |
alert('Unable to access local files due to browser security settings. ' + | |
'To overcome this, go to Tools->Internet Options->Security->Custom Level. ' + | |
'Find the setting for "Initialize and script ActiveX controls not marked as safe" and change it to "Enable" or "Prompt"'); | |
} | |
} | |
} | |
else { //this is where you could fallback to Java Applet, Flash or similar | |
alert('execution is here'); | |
return false; | |
} | |
return true; | |
} | |
/** | |
* display content using a basic HTML replacement | |
*/ | |
function displayContents(txt) { | |
var el = document.getElementById('main'); | |
el.innerHTML = txt; //display output in DOM | |
} | |
</script> | |
</head> | |
<body onload="checkFileAPI();"> | |
<div id="container"> | |
<input type="file" onchange='readText(this)' /> | |
<br/> | |
<hr/> | |
<h3>Contents of the Text file:</h3> | |
<div id="main"> | |
... | |
</div> | |
</div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment