por - Lee un archivo de texto local usando Javascript
leer un archivo txt con jquery (3)
A continuación, encontrará el código que genera automáticamente el contenido del archivo local txt y lo muestra html. ¡Buena suerte!
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
var x;
if(navigator.appName.search(''Microsoft'')>-1) { x = new ActiveXObject(''MSXML2.XMLHTTP''); }
else { x = new XMLHttpRequest(); }
function getdata() {
x.open(''get'', ''data1.txt'', true);
x.onreadystatechange= showdata;
x.send(null);
}
function showdata() {
if(x.readyState==4) {
var el = document.getElementById(''content'');
el.innerHTML = x.responseText;
}
}
</script>
</head>
<body onload="getdata();showdata();">
<div id="content"></div>
</body>
</html>
He leído algunas de las preguntas anteriores sobre este tema, ¡pero realmente necesito estar 100% seguro!
¿Es posible leer un archivo .txt en mi sistema local y presentarlo en mi HTML-BODY?
He probado varias funciones, aquí hay una:
function readFile (path) {
var fso = new ActiveXObject(''Scripting.FileSystemObject''),
iStream=fso.OpenTextFile(path, 1, false);
while(!iStream.AtEndOfStream) {
document.body.innerHTML += iStream.ReadLine() + ''<br/>'';
}
iStream.Close();
}
readFile("testing.txt");
El contenido del archivo es simplemente alrededor de 100 palabras que quiero leer del archivo de texto y mostrar en mi BODY HTML.
¿Es esto posible sin tener mi propio servidor?
Creo que debido a problemas de seguridad, no es posible leer el archivo desde la máquina local (lado del cliente) sin la intervención del cliente.
He intentado seguir el código proporcionado por Aminul
<script>
var fileDisplayArea = document.getElementById(''fileDisplayArea'');
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
fileDisplayArea.innerText = allText
}
}
}
rawFile.send(null);
}
readTextFile("file:///C:/your/path/to/file.txt");
</script>
está dando un mensaje de acceso denegado como se muestra a continuación
Puede usar un objeto FileReader
para leer el archivo de texto aquí es un código de ejemplo:
<div id="page-wrapper">
<h1>Text File Reader</h1>
<div>
Select a text file:
<input type="file" id="fileInput">
</div>
<pre id="fileDisplayArea"><pre>
</div>
<script>
window.onload = function() {
var fileInput = document.getElementById(''fileInput'');
var fileDisplayArea = document.getElementById(''fileDisplayArea'');
fileInput.addEventListener(''change'', function(e) {
var file = fileInput.files[0];
var textType = /text.*/;
if (file.type.match(textType)) {
var reader = new FileReader();
reader.onload = function(e) {
fileDisplayArea.innerText = reader.result;
}
reader.readAsText(file);
} else {
fileDisplayArea.innerText = "File not supported!"
}
});
}
</script>
Aquí está la demo codepen
Si tiene un archivo fijo para leer cada vez que se carga su aplicación, puede usar este código:
<script>
var fileDisplayArea = document.getElementById(''fileDisplayArea'');
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
fileDisplayArea.innerText = allText
}
}
}
rawFile.send(null);
}
readTextFile("file:///C:/your/path/to/file.txt");
</script>