Ich versuche, eine reine Skriptlösung zum Lesen des Inhalts einer Datei auf einem Clientcomputer über einen Browser bereitzustellen.
Ich habe eine Lösung, die mit Firefox und Internet Explorer funktioniert. Es ist nicht schön, aber ich probiere gerade nur Dinge aus:
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 :(";
}
}
Ich kann anrufen getFileContents()
und es wird den Inhalt in den fileContents
Textbereich schreiben .
Gibt es eine Möglichkeit, dies in anderen Browsern zu tun?
Ich bin im Moment am meisten mit Safari und Chrome beschäftigt, aber ich bin offen für Vorschläge für jeden anderen Browser.
Bearbeiten: Als Antwort auf die Frage "Warum möchten Sie das tun?":
Grundsätzlich möchte ich den Dateiinhalt zusammen mit einem Einmalkennwort auf der Clientseite hashen, damit ich diese Informationen zur Bestätigung zurücksenden kann.