Tôi đang cố gắng cung cấp giải pháp chỉ dành cho tập lệnh để đọc nội dung của tệp trên máy khách thông qua trình duyệt.
Tôi có một giải pháp hoạt động với Firefox và Internet Explorer. Nó không đẹp, nhưng tôi chỉ đang thử những thứ vào lúc này:
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 :(";
}
}
Tôi có thể gọi getFileContents()
và nó sẽ ghi nội dung vào vùng fileContents
văn bản.
Có cách nào để làm điều này trong các trình duyệt khác không?
Tôi quan tâm nhất đến Safari và Chrome vào lúc này, nhưng tôi sẵn sàng đón nhận các đề xuất cho bất kỳ trình duyệt nào khác.
Chỉnh sửa: Để trả lời cho câu hỏi, "Tại sao bạn muốn làm điều này?":
Về cơ bản, tôi muốn băm nội dung tệp cùng với mật khẩu dùng một lần ở phía máy khách để tôi có thể gửi lại thông tin này dưới dạng xác minh.