Saya mencoba memberikan solusi khusus skrip untuk membaca konten file di mesin klien melalui browser.
Saya memiliki solusi yang berfungsi dengan Firefox dan Internet Explorer. Ini tidak bagus, tapi saya hanya mencoba hal-hal saat ini:
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 :(";
}
}
Saya dapat menelepon getFileContents()
dan itu akan menulis isinya ke dalam fileContents
area teks.
Apakah ada cara untuk melakukan ini di browser lain?
Saya paling khawatir dengan Safari dan Chrome saat ini, tetapi saya terbuka untuk saran untuk browser lainnya.
Edit: Menanggapi pertanyaan, "Mengapa Anda ingin melakukan ini?":
Pada dasarnya, saya ingin mencirikan konten file bersama dengan kata sandi satu kali di sisi klien sehingga saya dapat mengirim informasi ini kembali sebagai verifikasi.