मैं वेब एप्लिकेशन में सादा-पाठ फ़ाइलों के लिए एक आयात स्क्रिप्ट सेट अप कर रहा हूं।जावास्क्रिप्ट के FileReader इंटरफ़ेस का उपयोग करते समय फ़ाइल की सामग्री-प्रकार का पता लगाना
मेरे स्क्रिप्ट इस प्रकार है:
function dataImport(files) {
confirm("Are you sure you want to import the selected file? This will overwrite any data that is currently saved in the application workspace.");
for (i = 0; i < files.length; i++) {
file = files[i]
console.log(file)
var reader = new FileReader()
ret = []
reader.onload = function(e) {
window.localStorage.setItem("ApplicationData", e.target.result);
}
reader.onerror = function(stuff) {
console.log("error", stuff)
console.log (stuff.getMessage())
}
reader.readAsText(file)
}
}
यह अनिवार्य रूप this question पर उत्पन्न कि एक संशोधन है।
हालांकि, इस समय उपयोगकर्ता तकनीकी रूप से किसी भी फ़ाइल को आयात करने का प्रयास कर सकता है। चूंकि यह सादे-पाठ फ़ाइलों के लिए डिज़ाइन किया गया है, यदि कोई अलग प्रकार की फ़ाइल आयात की जाती है तो समस्याएं उत्पन्न हो सकती हैं।
मैंने कंसोल में देखा है कि ब्राउज़र आयात की जाने वाली फ़ाइल के सामग्री-प्रकार का पता लगाता है। यहां एक उदाहरण दिया गया है।
fileName: "ideas.txt"
fileSize: 377
name: "ideas.txt"
size: 377
type: "text/plain"
webkitRelativePath: ""
यह संभव है, तो, एक तर्क जहां स्क्रिप्ट फ़ाइल की सामग्री प्रकार का पता लगाता है स्थापित करने के लिए, और अगर यह निर्दिष्ट उपयुक्त सामग्री प्रकार की एक संख्या में से एक नहीं है, स्क्रिप्ट है है इसे आयात करने से इंकार कर दिया?
किसी भी सलाह के लिए अग्रिम धन्यवाद।
मुझे लगता है कि, 'पता लगाने सामग्री प्रकार' द्वारा यू मतलब है, फ़ाइल का विस्तार से निष्कर्ष निकालते .. –
का निष्कर्ष निकालते विस्तार के द्वारा एक तरह से यह करने के लिए होगा, लेकिन मुझे उम्मीद थी कि मैं कर सकता जो कुछ भी बताता है उसे एक्सेस करें एक फ़ाइल है, उदाहरण के लिए, "टेक्स्ट/सादा" या "टेक्स्ट/एक्स-टेक" या "छवि/जेपीईजी" और इसी तरह से। –