Bir istemci makinesindeki bir dosyanın içeriğini tarayıcı aracılığıyla okumak için yalnızca komut dosyası içeren bir çözüm sağlamaya çalışıyorum.
Firefox ve Internet Explorer ile çalışan bir çözümüm var. Hoş değil, ama şu anda sadece bir şeyler deniyorum:
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 :(";
}
}
Arayabilirim getFileContents()
ve içeriği fileContents
metin alanına yazacaktır .
Bunu diğer tarayıcılarda yapmanın bir yolu var mı?
Şu anda en çok Safari ve Chrome ile ilgileniyorum, ancak başka herhangi bir tarayıcı için önerilere açığım.
Düzenleme: "Bunu neden yapmak istiyorsunuz?" Sorusuna yanıt olarak:
Temel olarak, dosya içeriğini istemci tarafında tek seferlik bir parola ile birlikte hash hale getirmek istiyorum, böylece bu bilgileri doğrulama olarak geri gönderebilirim.