मैं ब्राउज़र के माध्यम से क्लाइंट मशीन पर एक फ़ाइल की सामग्री को पढ़ने के लिए केवल एक स्क्रिप्ट-केवल समाधान प्रदान करने का प्रयास कर रहा हूं।
मेरे पास एक समाधान है जो फ़ायरफ़ॉक्स और इंटरनेट एक्सप्लोरर के साथ काम करता है। यह सुंदर नहीं है, लेकिन मैं इस समय केवल चीजों की कोशिश कर रहा हूं:
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 :(";
}
}
मैं कॉल कर सकता हूं getFileContents()
और यह सामग्री को fileContents
पाठ क्षेत्र में लिख देगा ।
क्या अन्य ब्राउज़रों में ऐसा करने का कोई तरीका है?
मैं इस समय सफारी और क्रोम से सबसे अधिक चिंतित हूं, लेकिन मैं किसी भी अन्य ब्राउज़र के सुझावों के लिए खुला हूं।
संपादित करें: सवाल के जवाब में, "आप ऐसा क्यों करना चाहते हैं?"
मूल रूप से, मैं ग्राहक की ओर से वन-टाइम-पासवर्ड के साथ फाइल सामग्री को हैश करना चाहता हूं ताकि मैं इस जानकारी को सत्यापन के रूप में वापस भेज सकूं।