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