स्थानीय पाठ फ़ाइल कैसे पढ़ें?


370

मैं एक सरल पाठ फ़ाइल रीडर लिखने की कोशिश कर रहा हूं, जो एक फ़ंक्शन बनाता है जो फ़ाइल के पथ में ले जाता है और पाठ की प्रत्येक पंक्ति को एक चार सरणी में परिवर्तित करता है, लेकिन यह काम नहीं कर रहा है।

function readTextFile() {
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", "testing.txt", true);
  rawFile.onreadystatechange = function() {
    if (rawFile.readyState === 4) {
      var allText = rawFile.responseText;
      document.getElementById("textSection").innerHTML = allText;
    }
  }
  rawFile.send();
}

यहाँ क्या गलत हो रहा है?

यह अभी भी पिछले संशोधन से कोड को थोड़ा बदलने के बाद काम नहीं करता है और अब यह मुझे XMLHttpRequestअपवाद 101 दे रहा है ।

मैंने इसे फ़ायरफ़ॉक्स पर परीक्षण किया है और यह काम करता है, लेकिन Google क्रोम में यह काम नहीं करेगा और यह मुझे एक अपवाद 101 देता है। मैं इसे न केवल फ़ायरफ़ॉक्स पर काम करने के लिए कैसे प्राप्त कर सकता हूं, बल्कि अन्य ब्राउज़रों पर भी (विशेष रूप से क्रोम पर) )?


विशेष रूप से क्या हो रहा है। क्या ऐरे में कुछ नहीं है? या सिर्फ "गलत" सामान ..?
PinkElephantsOnParade

क्या आप एक स्थानीय मशीन पर परीक्षण कर रहे हैं? statusके 0रूप में अच्छी तरह से एक के लिए परीक्षण करने के लिए सुनिश्चित करें 200
जेफरी स्वीनी

1
@JeffreySweeney हाँ मैं एक स्थानीय मशीन पर यह परीक्षण कर रहा हूँ। मैंने पाठ फ़ाइल को उसी जगह पर संग्रहीत किया है, जहां javascripts और html
Danny

जवाबों:


311

आपको स्थिति 0 के लिए जाँच करने की आवश्यकता है (जैसे कि स्थानीय रूप से फ़ाइलों को लोड करते समय XMLHttpRequest, आपको एक स्थिति वापस नहीं मिलती क्योंकि यह नहीं है Webserver)

function readTextFile(file)
{
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", file, false);
    rawFile.onreadystatechange = function ()
    {
        if(rawFile.readyState === 4)
        {
            if(rawFile.status === 200 || rawFile.status == 0)
            {
                var allText = rawFile.responseText;
                alert(allText);
            }
        }
    }
    rawFile.send(null);
}

और file://अपने फ़ाइल नाम में निर्दिष्ट करें:

readTextFile("file:///C:/your/path/to/file.txt");

2
मैं वास्तव में इस पर काम कर रहा हूँ MAC, इसलिए मैं अभी भी फ़ाइल को निर्दिष्ट करूंगा: // ??
डैनी

11
file:///User/Danny/Desktop/javascriptWork/testing.txtअपने ब्राउज़र के url बार में डालने की कोशिश करें और देखें कि क्या आप फ़ाइल देख सकते हैं ..
माजिद लस्सी

21
यह एक पूर्ण मार्ग होने की आवश्यकता नहीं है .. यह मेरे लिए ठीक काम किया: readTextFile ('गुण / version.txt'); धन्यवाद!
सोनिक सोल

2
चूँकि हम एक वेबसर्वर से पढ़ रहे हैं, हमें async सेट होना चाहिए true। यदि यह एक सरल localखोज थी, तो async के लिए सेटिंग falseठीक है, लेकिन onreadystatechangeझूठी पर सेट होने के दौरान इसकी आवश्यकता नहीं है। यहाँ प्रलेखन है: w3schools.com/ajax/ajax_xmlhttprequest_send.asp
rambossa

149
यह क्रोम (अन्य ब्राउजर्स) पर काम नहीं करेगा। आपको "क्रॉस ओरिजिनल रिक्वेस्ट केवल प्रोटोकॉल स्कीमों के लिए समर्थित हैं: http, डेटा, क्रोम, क्रोम-एक्सटेंशन, https, क्रोम-एक्सटेंशन-रिसोर्स।"
रिक बर्गेस

102

जावास्क्रिप्ट पर जाएँ ! और अनुभाग readAsText पर जाएं और उदाहरण का प्रयास करें। आपको पता चल सकेगा कि FileReader का रीडएस्ट टेक्स्ट फ़ंक्शन कैसे काम करता है।

    <html>
    <head>
    <script>
      var openFile = function(event) {
        var input = event.target;

        var reader = new FileReader();
        reader.onload = function(){
          var text = reader.result;
          var node = document.getElementById('output');
          node.innerText = text;
          console.log(reader.result.substring(0, 200));
        };
        reader.readAsText(input.files[0]);
      };
    </script>
    </head>
    <body>
    <input type='file' accept='text/plain' onchange='openFile(event)'><br>
    <div id='output'>
    ...
    </div>
    </body>
    </html>

14
लिंक अच्छे हैं, लेकिन आपको "हमेशा एक महत्वपूर्ण लिंक का सबसे प्रासंगिक हिस्सा उद्धृत करना चाहिए, यदि लक्ष्य साइट उपलब्ध नहीं है या स्थायी रूप से ऑफ़लाइन है।" देखिए मैं एक अच्छा जवाब कैसे लिखता हूं
4a11e1

16
यह उदाहरण एक उपयोगकर्ता-इनपुट पाठ फ़ाइल के साथ काम करता है, लेकिन मुझे लगता है कि सवाल सर्वर के लिए स्थानीय फ़ाइल के बारे में था।
एस किर्बी

@ S.Kirby ओपी ने एक सवाल के जवाब में कहा कि क्या यह स्थानीय रूप से या किसी दूरस्थ सर्वर पर चलाया जाता है: यह सब स्थानीय है। सभी एक फ़ोल्डर में और कुछ नहीं। । इसके अलावा, अन्य लोगों (मेरे जैसे) के पास यह सवाल हो सकता है कि यह स्थानीय स्तर पर कैसे किया जाए।
साइमन फोर्सबर्ग

102

जावास्क्रिप्ट में लाने के बाद , फ़ाइल सामग्री को पढ़ना सरल नहीं हो सकता है।

पाठ फ़ाइल पढ़ना

fetch('file.txt')
  .then(response => response.text())
  .then(text => console.log(text))
  // outputs the content of the text file

एक json फ़ाइल पढ़ना

fetch('file.json')
  .then(response => response.json())
  .then(jsonResponse => console.log(jsonResponse))     
   // outputs a javascript object from the parsed json

अद्यतन 30/07/2018 (अस्वीकरण):

यह तकनीक फ़ायरफ़ॉक्स में ठीक काम करती है , लेकिन ऐसा लगता है कि क्रोम के fetchकार्यान्वयन file:///इस अद्यतन को लिखने की तारीख में क्रोम स्कीम का समर्थन नहीं करता है (क्रोम 530 में परीक्षण किया गया)।

अपडेट -2 (अस्वीकरण):

यह तकनीक Chrome के समान (सुरक्षा) कारण के लिए संस्करण 68 (Jul 9, 2019) से ऊपर फ़ायरफ़ॉक्स के साथ काम नहीं करती है CORS request not HTTPHttps://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSRequestNotHttp देखें ।


4
प्रतिभाशाली! फ़ॉच मानक का हवाला देते हुए: "URL स्कीम्स, रीडायरेक्ट, क्रॉस-ऑरिजेंट शब्दार्थ, CSP, सर्विस वर्कर, मिक्स्ड कंटेंट, Referer" के अनुरूप हैंडलिंग प्रदान करता है । मुझे लगता है कि यह अच्छे ol'FileReaders और HttpRequests को अलविदा का मतलब है (और मैं उन्हें थोड़ा सा भी नहीं?)
आर्मफूट

1
लेकिन आप पाठ का उपयोग कैसे कर सकते हैं और इसे कहीं और उपयोग के लिए एक स्ट्रिंग चर में डाल सकते हैं? (मुझे लगता है कि मैं इसे करने के लिए कोई बात नहीं 'अपरिभाषित' हो रही है।)
not2qubit

2
@ not2qubit एक टेक्स्ट फ़ाइल लाना एक async कार्रवाई है। आप अपरिभाषित हो रहे हैं क्योंकि आप फ़ाइल पूरी तरह से पढ़ने से पहले चर का उपयोग कर रहे हैं। आपको इसे वादा कॉलबैक के अंदर उपयोग करना होगा या जावास्क्रिप्ट "async प्रतीक्षा" ऑपरेटरों जैसे कुछ का उपयोग करना होगा।
अब्देलअज़ीज़ मोखनाचे

13
Fetch API cannot load file:///C:/Users/path/to/file/file.txt. URL scheme must be "http" or "https" for CORS request.
जैकब श्नाइडर

1
ब्राउज़र संगतता: developer.mozilla.org/en-US/docs/Web/API/…
सैम मर्फी

39

var input = document.getElementById("myFile");
var output = document.getElementById("output");


input.addEventListener("change", function () {
  if (this.files && this.files[0]) {
    var myFile = this.files[0];
    var reader = new FileReader();
    
    reader.addEventListener('load', function (e) {
      output.textContent = e.target.result;
    });
    
    reader.readAsBinaryString(myFile);
  }   
});
<input type="file" id="myFile">
<hr>
<textarea style="width:500px;height: 400px" id="output"></textarea>


9
मुझे यकीन नहीं है कि यह 4 साल पुराने सवाल का जवाब देता है। ओपी दस्तावेजों को अपलोड नहीं कर रहा है, वे एक पथ से एक ही निर्देशिका में पाठ फ़ाइल को पढ़ने की कोशिश कर रहे हैं। और यदि आप प्रश्नों का उत्तर देने जा रहे हैं, तो यह पुराना कम से कम एक संक्षिप्त सारांश लिखें कि आपको क्यों लगता है कि आपका उत्तर अब दूसरों की तुलना में बेहतर है या कैसे एक नया उत्तर देने के लिए प्रश्न के बाद से भाषा बदल गई है।
मैथ्यू सियारमैतो

1
मेरे अपने मौजूदा फ़ाइल अपलोड इनपुट एचटीएमएल का उपयोग करना - से लाइनों को कॉपी var reader = new FileReader();के माध्यम से reader.readAsBinaryString(..)यह मेरे पाठ फ़ाइल की सामग्री को पढ़ता है -। स्वच्छ, सुरुचिपूर्ण, एक आकर्षण की तरह काम करता है। मेरे लिए इस धागे में सबसे अच्छा जवाब - धन्यवाद!
जीन बो

18

जॉन पेरीमैन,

हां js स्थानीय फ़ाइलें पढ़ सकते हैं (FileReader () देखें) लेकिन स्वचालित रूप से नहीं: उपयोगकर्ता को HTML के साथ स्क्रिप्ट में फ़ाइल या फ़ाइलों की सूची को पास करना होगा <input type=file>

फिर js के साथ फ़ाइल (फाइलों को देखने या सूची देने), उनकी कुछ संपत्तियों और फ़ाइल या फाइलों की सामग्री को संसाधित करना संभव है।

सुरक्षा कारणों से जो जेएस नहीं कर सकता है वह अपने कंप्यूटर के फाइल सिस्टम के लिए स्वचालित रूप से (उपयोगकर्ता इनपुट के बिना) एक्सेस करना है।

Js को स्थानीय fs के लिए अतिरिक्त रूप से अनुमति देने के लिए स्वचालित रूप से इसके अंदर js के साथ html फ़ाइल नहीं बल्कि एक hta दस्तावेज़ बनाने की आवश्यकता होती है।

एक hta फ़ाइल में इसके अंदर js या vbs हो सकते हैं।

लेकिन एचटीए निष्पादन योग्य केवल विंडोज़ सिस्टम पर काम करेगा।

यह मानक ब्राउज़र व्यवहार है।

साथ ही google chrome ने fs api पर काम किया, यहाँ और अधिक infos: http://www.html5rocks.com/en/tutorials/file/filesystem/


यह वह टिप्पणी है जिसकी मुझे तलाश थी। हर कोई फ़ाइल के उपयोगकर्ता प्रविष्टि के लिए कोड को इनपुट टैग के रूप में डाल रहा है, लेकिन सवाल उपयोगकर्ता द्वारा कोड में बताए गए पथ से फ़ाइल को स्वचालित रूप से लेने के लिए है। धन्यवाद!
कुमार कार्तिकेय

13

यदि आप पहले से ही इसे आजमाते हैं, तो निम्न प्रकार से "असत्य" टाइप करें:

 rawFile.open("GET", file, false);

12

दो कार्य बनाने का प्रयास करें:

function getData(){       //this will read file and send information to other function
       var xmlhttp;

       if (window.XMLHttpRequest) {
           xmlhttp = new XMLHttpRequest();               
       }           
       else {               
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");               
       }

       xmlhttp.onreadystatechange = function () {               
           if (xmlhttp.readyState == 4) {                   
             var lines = xmlhttp.responseText;    //*here we get all lines from text file*

             intoArray(lines);     *//here we call function with parameter "lines*"                   
           }               
       }

       xmlhttp.open("GET", "motsim1.txt", true);
       xmlhttp.send();    
}

function intoArray (lines) {
   // splitting all text data into array "\n" is splitting data from each new line
   //and saving each new line as each element*

   var lineArr = lines.split('\n'); 

   //just to check if it works output lineArr[index] as below
   document.write(lineArr[2]);         
   document.write(lineArr[3]);
}

ब्राउज़र किस काम में आता है (ऐसा लगता है कि 6 लोगों ने इसे आजमाया है :-))
ज़ान-कुन क्लार्क-डेविस

11

अन्य उदाहरण - FileReader वर्ग के साथ मेरा पाठक

<html>
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css">
        <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
        <script src="http://code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
    </head>
    <body>
        <script>
            function PreviewText() {
            var oFReader = new FileReader();
            oFReader.readAsDataURL(document.getElementById("uploadText").files[0]);
            oFReader.onload = function (oFREvent) {
                document.getElementById("uploadTextValue").value = oFREvent.target.result; 
                document.getElementById("obj").data = oFREvent.target.result;
            };
        };
        jQuery(document).ready(function(){
            $('#viewSource').click(function ()
            {
                var text = $('#uploadTextValue').val();
                alert(text);
                //here ajax
            });
        });
        </script>
        <object width="100%" height="400" data="" id="obj"></object>
        <div>
            <input type="hidden" id="uploadTextValue" name="uploadTextValue" value="" />
            <input id="uploadText" style="width:120px" type="file" size="10"  onchange="PreviewText();" />
        </div>
        <a href="#" id="viewSource">Source file</a>
    </body>
</html>

2
फाइल रिटर्न बेस 64 आउटपुट
वीपी

6

Fetch और async फ़ंक्शन का उपयोग करना

const logFileText = async file => {
    const response = await fetch(file)
    const text = await response.text()
    console.log(text)
}

logFileText('file.txt')

7
मुझे 'URL योजना को "http" या "https" को CORS अनुरोध के लिए होना चाहिए। "
क्वर्टी

धन्यवाद, मेरे लिए काम करता है!
ऑस्करअगायो

5

यह मदद कर सकता है,

    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            alert(xmlhttp.responseText);
        }
    }

    xmlhttp.open("GET", "sample.txt", true);
    xmlhttp.send();

5

आधुनिक समाधान:

<input type="file" onchange="this.files[0].text().then(t => console.log(t))">

जब उपयोगकर्ता उस इनपुट के माध्यम से एक पाठ फ़ाइल अपलोड करता है, तो उसे कंसोल में लॉग इन किया जाएगा। यहाँ एक कार्यशील jsbin डेमो है

यहाँ एक अधिक वर्बोज़ संस्करण है:

<input type="file" onchange="loadFile(this.files[0])">
<script>
  async function loadFile(file) {
    let text = await file.text();
    console.log(text);
  }
</script>

वर्तमान में (जनवरी 2020) यह केवल क्रोम और फ़ायरफ़ॉक्स में काम करता है, यदि आप भविष्य में इसे पढ़ रहे हैं तो संगतता की जाँच करें: https://developer.mozilla.org/en-US/docs/Web/API/Blob/text

पुराने ब्राउज़रों पर, यह काम करना चाहिए:

<input type="file" onchange="loadFile(this.files[0])">
<script>
  async function loadFile(file) {
    let text = await (new Response(file)).text();
    console.log(text);
  }
</script>

2

उपरोक्त कुछ उत्तरों को जोड़ते हुए, इस संशोधित समाधान ने मेरे लिए काम किया।

<input id="file-upload-input" type="file" class="form-control" accept="*" />

....

let fileInput  = document.getElementById('file-upload-input');
let files = fileInput.files;

//Use createObjectURL, this should address any CORS issues.
let filePath = URL.createObjectURL(files[0]);

....

function readTextFile(filePath){
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", filePath , true);
    rawFile.send(null);

    rawFile.onreadystatechange = function (){
        if(rawFile.readyState === 4){
            if(rawFile.status === 200 || rawFile.status == 0){
                var allText = rawFile.responseText;
                console.log(allText);
            }
        }
    }     
}

2
function readTextFile(file) {
    var rawFile = new XMLHttpRequest(); // XMLHttpRequest (often abbreviated as XHR) is a browser object accessible in JavaScript that provides data in XML, JSON, but also HTML format, or even a simple text using HTTP requests.
    rawFile.open("GET", file, false); // open with method GET the file with the link file ,  false (synchronous)
    rawFile.onreadystatechange = function ()
    {
        if(rawFile.readyState === 4) // readyState = 4: request finished and response is ready
        {
            if(rawFile.status === 200) // status 200: "OK"
            {
                var allText = rawFile.responseText; //  Returns the response data as a string
                console.log(allText); // display text on the console
            }
        }
    }
    rawFile.send(null); //Sends the request to the server Used for GET requests with param null
}

readTextFile("text.txt"); //<= Call function ===== don't need "file:///..." just the path 

- जावास्क्रिप्ट से फ़ाइल पाठ पढ़ें - जावास्क्रिप्ट
का उपयोग करके फ़ाइल से कंसोल लॉग टेक्स्ट
-

मेरे मामले में Google क्रोम और मोज़िला फ़ायरफ़ॉक्स मेरे पास फ़ाइलों की यह संरचना है:यहां छवि विवरण दर्ज करें

कंसोल.लॉग परिणाम:
यहां छवि विवरण दर्ज करें


नीचे दी गई त्रुटि दिखा रही है: XMLHttpRequest पर 'फ़ाइल: /// C: / {myLocalPath} PropertiesFile.txt' को मूल 'null' से एक्सेस करना CORS नीति द्वारा अवरुद्ध कर दिया गया है: क्रॉस मूल अनुरोध केवल प्रोटोकॉल योजनाओं के लिए समर्थित हैं: http, डेटा, क्रोम, क्रोम-एक्सटेंशन, https।
कुमार कार्तिकेय

1
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {            
                $.ajax({`enter code here`
                    url: "TextFile.txt",
                    dataType: "text",
                    success: function (data) {                 
                            var text = $('#newCheckText').val();
                            var str = data;
                            var str_array = str.split('\n');
                            for (var i = 0; i < str_array.length; i++) {
                                // Trim the excess whitespace.
                                str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
                                // Add additional code here, such as:
                                alert(str_array[i]);
                                $('#checkboxes').append('<input type="checkbox"  class="checkBoxClass" /> ' + str_array[i] + '<br />');
                            }
                    }                   
                });
                $("#ckbCheckAll").click(function () {
                    $(".checkBoxClass").prop('checked', $(this).prop('checked'));
                });
        });
    </script>
</head>
<body>
    <div id="checkboxes">
        <input type="checkbox" id="ckbCheckAll" class="checkBoxClass"/> Select All<br />        
    </div>
</body>
</html>

1

Js (data.js) लोड में स्थानीय फ़ाइल डेटा प्राप्त करें:

function loadMyFile(){
    console.log("ut:"+unixTimeSec());
    loadScript("data.js?"+unixTimeSec(), loadParse);
}
function loadParse(){
    var mA_=mSdata.split("\n");
    console.log(mA_.length);
}
function loadScript(url, callback){

    var script = document.createElement("script")
    script.type = "text/javascript";

    if (script.readyState){  //IE
        script.onreadystatechange = function(){
            if (script.readyState == "loaded" ||
                    script.readyState == "complete"){
                script.onreadystatechange = null;
                callback();
            }
        };
    } else {  //Others
        script.onload = function(){
            callback();
        };
    }

    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
}
function hereDoc(f) {
  return f.toString().
      replace(/^[^\/]+\/\*![^\r\n]*[\r\n]*/, "").
      replace(/[\r\n][^\r\n]*\*\/[^\/]+$/, "");
}
function unixTimeSec(){
    return Math.round( (new Date()).getTime()/1000);
}

data.js की फ़ाइल:

var mSdata = hereDoc(function() {/*!
17,399
1237,399
BLAHBLAH
BLAHBLAH
155,82
194,376
*/});

गतिशील यूनिक्सटाइम क्वेरीस्ट्रीमिंग कैश्ड को रोकता है।

AJ वेब http: // में काम करता है।


आप मल्टीलाइन स्ट्रिंग्स के लिए ES6 टेम्पलेट शाब्दिक सिंटैक्स का उपयोग क्यों नहीं करते हैं? (देखें developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/... )
Sapphire_Brick

1

Chrome में स्थानीय AJAX कॉल समान-मूल-नीति के कारण समर्थित नहीं हैं।

क्रोम पर त्रुटि संदेश इस तरह है: "प्रोटोकॉल योजनाओं के लिए क्रॉस मूल अनुरोध समर्थित नहीं हैं: http, डेटा, क्रोम, क्रोम-एक्सटेंशन, https।"

इसका मतलब है कि क्रोम http / https प्रोटोकॉल का उपयोग करके डोमेन द्वारा सेव की गई फ़ाइलों को रखने के लिए हर डोमेन के लिए एक वर्चुअल डिस्क बनाता है। इस मूल डिस्क के तहत इस वर्चुअल डिस्क के बाहर की फ़ाइलों तक कोई भी पहुंच प्रतिबंधित है। AJAX के अनुरोध और प्रतिक्रियाएं http / https पर होती हैं, इसलिए स्थानीय फ़ाइलों के लिए काम नहीं करेंगे।

फ़ायरफ़ॉक्स इस तरह का प्रतिबंध नहीं लगाता है, इसलिए आपका कोड फ़ायरफ़ॉक्स पर खुशी से काम करेगा। हालांकि क्रोम के लिए भी वर्कअराउंड हैं: यहां देखें


0

आप मेरी लाइब्रेरी आयात कर सकते हैं:

<script src="https://www.editeyusercontent.com/preview/1c_hhRGD3bhwOtWwfBD8QofW9rD3T1kbe/code.js?pe=yikuansun2015@gmail.com"></script>

फिर, फ़ंक्शन fetchfile(path)अपलोड की गई फ़ाइल वापस कर देगा

<script src="https://www.editeyusercontent.com/preview/1c_hhRGD3bhwOtWwfBD8QofW9rD3T1kbe/code.js"></script>
<script>console.log(fetchfile("file.txt"))</script>

कृपया ध्यान दें: Google Chrome पर यदि HTML कोड स्थानीय है, तो त्रुटियाँ दिखाई देंगी, लेकिन HTML कोड और फ़ाइलों को ऑनलाइन सहेजना तब ऑनलाइन HTML कोड काम करता है।


0

JavaScriptक्रोम का उपयोग करके एक स्थानीय फ़ाइल पाठ पढ़ने के लिए , क्रोम ब्राउज़र को --allow-file-access-from-filesजावास्क्रिप्ट के साथ स्थानीय फ़ाइल का उपयोग करने की अनुमति देने के तर्क के साथ चलना चाहिए , फिर आप इसे XmlHttpRequestनिम्न की तरह उपयोग करके पढ़ सकते हैं :

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
   if (xmlhttp.readyState == 4) {
       var allText = xmlhttp.responseText;          
            }
        };
xmlhttp.open("GET", file, false);
xmlhttp.send(null);

0

स्थानीय फ़ाइल कैसे पढ़ें?

इसका उपयोग करके आप लोडटेक्स्ट () द्वारा फ़ाइल लोड करेंगे, तब जेएस अतुल्यकालिक रूप से प्रतीक्षा करेगा जब तक कि फ़ाइल पढ़ी और लोड न हो जाए इसके बाद यह रीडटेक्स्ट को एक्सपेक्ट करेगा () फ़ंक्शन आपको अपने सामान्य जेएस तर्क के साथ जारी रखने की अनुमति देता है (आप एक कोशिश पकड़ भी लिख सकते हैं। लोडटेक्स्ट () फ़ंक्शन पर ब्लॉक किसी भी त्रुटि के कारण उत्पन्न होता है) लेकिन इस उदाहरण के लिए मैं इसे कम से कम रखता हूं।

async function loadText(url) {
    text = await fetch(url);
    //awaits for text.text() prop 
    //and then sends it to readText()
    readText(await text.text());
}

function readText(text){
    //here you can continue with your JS normal logic
    console.log(text);
}

loadText('test.txt');

ऐसा लगता है जैसे आपके पास फ़ंक्शन-इटिस
नीलमणि_क

0

मुझे पता है, मुझे इस पार्टी में देर हो रही है। मुझे जो मिला है, वह तुम्हें दिखाऊं।

यह टेक्स्ट फाइल का एक सरल रीडिंग है

var path = C:\\established-titles\\orders\\shopify-orders.txt
var fs = require('fs')
fs.readFile(path , 'utf8', function(err, data) {
  if (err) throw err;
  console.log('OK: ' + filename);
  console.log(data)
});

आशा है कि ये आपकी मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.