Estoy intentando proporcionar una solución de solo script para leer el contenido de un archivo en una máquina cliente a través de un navegador.Lectura de contenido de archivos en el lado del cliente en javascript en varios navegadores
Tengo una solución que funciona con Firefox e Internet Explorer. No es bonito, pero yo sólo estoy tratando cosas en la actualidad
function getFileContents() {
var fileForUpload = document.forms[0].fileForUpload;
var fileName = fileForUpload.value;
if (fileForUpload.files) {
var fileContents = fileForUpload.files.item(0).getAsBinary();
document.forms[0].fileContents.innerHTML = fileContents;
} else {
// try the IE method
var fileContents = ieReadFile(fileName);
document.forms[0].fileContents.innerHTML = fileContents;
}
}
function ieReadFile(filename)
{
try
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fh = fso.OpenTextFile(filename, 1);
var contents = fh.ReadAll();
fh.Close();
return contents;
}
catch (Exception)
{
return "Cannot open file :(";
}
}
puedo llamar getFileContents()
y que va a escribir el contenido en el área de fileContents
texto.
¿Hay alguna manera de hacer esto en otros navegadores?
Estoy más preocupado con Safari y Chrome por el momento, pero estoy abierto a sugerencias para cualquier otro navegador.
Editar: En respuesta a la pregunta: "¿Por qué quieres hacer esto?":
Básicamente, quiero para discutir el contenido del archivo junto con una sola vez la contraseña en el lado del cliente entonces puedo enviar esta información de vuelta como una verificación.
No es que tenga una respuesta, pero sólo por el bien de la claridad, hacer lo que necesita saber la ubicación del archivo? Si no, ¿la ubicación del archivo debe leerse a partir de una entrada de archivo o puede ser un cuadro de texto/área de texto/lo que sea? –
Buena pregunta. No, realmente no me importa de dónde proviene el archivo, solo su contenido. Sin embargo, usar una entrada de archivo me parece sensato ya que es un html nativo; hay una cosa menos que tengo que hacer. – Damovisa
¿por qué quieres hacer esto? el servidor está destinado a hacer eso. – geowa4