স্থানীয় পাঠ্য ফাইলটি কীভাবে পড়বেন?


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 দিচ্ছে ।

আমি এটি ফায়ারফক্সে পরীক্ষা করেছি এবং এটি কাজ করে, তবে গুগল ক্রোমে এটি ঠিক কাজ করবে না এবং এটি আমাকে একটি এক্সপেশন 101 প্রদান করে। আমি কীভাবে এটি কেবল ফায়ারফক্সে নয়, অন্যান্য ব্রাউজারগুলিতেও কাজ করতে পারি (বিশেষত ক্রোম )?


বিশেষত কি ঘটছে। অ্যারে কিছুই নেই? নাকি শুধু "ভুল" জিনিস ..?
গোলাপি এলিফ্যান্টসঅনপ্রেড

আপনি একটি স্থানীয় মেশিন পরীক্ষা করছেন? একটি জন্য পরীক্ষার নিশ্চিত করুন statusএর 0পাশাপাশি 200
জেফ্রি সুইইনি

1
@ জেফ্রেসিউনয়ে হ্যাঁ আমি এটি একটি স্থানীয় মেশিনে পরীক্ষা করছি। আমি টেক্সট ফাইলটি জাভাস্ক্রিপ্ট এবং এইচটিএমএল হিসাবে একই জায়গায় সংরক্ষণ করেছি
ড্যানি

উত্তর:


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
আমি আসলে ম্যাকের উপর এটি নিয়ে কাজ করছি, সুতরাং আমি কি এখনও ফাইলটি নির্দিষ্ট করে বলব: // ??
ড্যানি

11
file:///User/Danny/Desktop/javascriptWork/testing.txtআপনার ব্রাউজারের ইউআরএল বারে রাখার চেষ্টা করুন এবং আপনি ফাইলটি দেখতে পারেন কিনা তা দেখুন ..
মজিদ লইসি

21
এটি একটি নিখুঁত পথ হওয়ার দরকার নেই .. এটি আমার পক্ষে ঠিক কাজ করেছে: readTextFile ('Properties / version.txt'); ধন্যবাদ!
সোনিক সোল

2
যেহেতু আমরা একটি ওয়েবসার্ভার থেকে পড়ছি, আমাদের অ্যাসিঙ্ক সেট করা উচিত true। যদি এটি একটি সাধারণ localঅনুসন্ধান ছিল তবে async এ সেট falseকরা ঠিক আছে onreadystatechangeতবে এটি মিথ্যাতে সেট করার সময় প্রয়োজন হয় না। এখানে ডকুমেন্টেশন রয়েছে: w3schools.com/ajax/ajax_xMLhttprequest_send.asp
রাম্বোসা

149
এটি ক্রোমে কাজ করবে না (সম্ভাব্যতা অন্যান্য ব্রাউজারগুলি) আপনি পাবেন "ক্রস অরিজিন অনুরোধগুলি কেবল প্রোটোকল স্কিমগুলির জন্য সমর্থিত: http, ডেটা, ক্রোম, ক্রোম-এক্সটেনশন, https, ক্রোম-এক্সটেনশন-রিসোর্স" "
রিক বার্গেস

102

পরিদর্শন Javascripture ! এবং অধ্যায় পাঠের অংশটি পড়ুন এবং উদাহরণটি চেষ্টা করুন। আপনি ফাইলরেডার এর রিডএক টেক্সট ফাংশনটি কীভাবে কাজ করে তা জানতে সক্ষম হবেন ।

    <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
লিঙ্কগুলি দুর্দান্ত, তবে লক্ষ্য সাইটেরটি অ্যাক্সেসযোগ্য না হলে বা স্থায়ীভাবে অফলাইনে চলে যাওয়ার ক্ষেত্রে আপনার "সর্বদা একটি গুরুত্বপূর্ণ লিঙ্কের সর্বাধিক প্রাসঙ্গিক অংশটি উদ্ধৃত করা উচিত" " আমি কিভাবে একটি ভাল উত্তর লিখুন দেখুন ।
4ae1e1

16
এই উদাহরণটি ব্যবহারকারীর ইনপুট পাঠ্য ফাইলের সাথে সম্পর্কিত, তবে আমি মনে করি যে প্রশ্নটি সার্ভারের স্থানীয় একটি ফাইল সম্পর্কে ছিল।
এস। কি

@ এসকিরবি যেমন স্থানীয়ভাবে বা রিমোট সার্ভারে চালিত হয় কিনা এমন প্রশ্নের জবাবে ওপি বলেছিলেন: এটি সমস্ত স্থানীয়। সবই এক ফোল্ডারে আর কিছুই না। । এছাড়াও, অন্যান্য লোকের (আমার মতো) স্থানীয়ভাবে এটি কীভাবে করা যায় সে সম্পর্কে প্রশ্ন থাকতে পারে।
সাইমন ফারসবার্গ

102

জাভাস্ক্রিপ্টে আনার জন্য এপিআই প্রবর্তনের পরে , ফাইলের বিষয়বস্তু পড়া সহজ হতে পারে না।

একটি পাঠ্য ফাইল পড়া

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

একটি জেসন ফাইল পড়া

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:///এই আপডেটে (যেমন, Chrome 68 পরীক্ষিত) লেখার তারিখে URL টি প্রকল্প।

আপডেট -২ (অস্বীকৃতি):

এই কৌশলটি সাথে কাজ করে না ফায়ারফক্স Chrome এর সঙ্গে একই (নিরাপত্তা) কারণে সংস্করণ 68 উপরে (জুলাই 9, 2019): CORS request not HTTPHttps://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Erferences/CORSRequestNotHttp দেখুন ।


4
উজ্জ্বল! আনয়ন স্ট্যান্ডার্ডের উদ্ধৃতি: "এর সামঞ্জস্যপূর্ণ হ্যান্ডলিং সরবরাহ করে: ইউআরএল স্কিম, পুনঃনির্দেশ, ক্রস-উত্স শব্দার্থ, সিএসপি, পরিষেবা কর্মী, মিশ্র সামগ্রী, Referer"। আমি অনুমান করি এর অর্থ ভাল অল'ফিলারাইডার্স এবং এইচটিটিপিআরকিস্টেসসকে বিদায় জানানো হয়েছে (এবং আমি তাদের কিছুটা মিস করব না)
আর্মফুট

1
তবে আপনি কীভাবে পাঠ্যটি ব্যবহার করতে পারেন এবং এটিকে অন্য কোথাও ব্যবহারের জন্য স্ট্রিং ভেরিয়েবলের মধ্যে রাখতে পারেন? (আমি এর সাথে যা-ই করি না কেন '
অপরিশোধিত

2
@ not2qubit একটি পাঠ্য ফাইল আনা একটি 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
ব্রাউজারের সামঞ্জস্যতা: বিকাশকারী.মোজিলা.আর.ইন
স্যাম মারফি

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

18

জন পেরিম্যান,

হ্যাঁ জেএস স্থানীয় ফাইলগুলি পড়তে পারে (ফাইলের রিডার দেখুন) তবে স্বয়ংক্রিয়ভাবে নয়: ব্যবহারকারীকে এইচটিএমএল সহ ফাইল বা ফাইলগুলির একটি লিপি স্ক্রিপ্টে পাস করতে হবে <input type=file>

তারপরে জেএসের সাহায্যে ফাইল বা ফাইলের তালিকা, উদাহরণস্বরূপ দেখা (ফাইলের ফাইলগুলি) কিছু সম্পত্তি এবং ফাইল বা ফাইলের বিষয়বস্তু প্রক্রিয়া করা সম্ভব।

সুরক্ষা কারণে জেএস কী করতে পারে না তা হ'ল তার কম্পিউটারের ফাইল সিস্টেমে স্বয়ংক্রিয়ভাবে (ব্যবহারকারী ইনপুট ছাড়া) অ্যাক্সেস করা।

স্থানীয় এফএসে স্বয়ংক্রিয়ভাবে জেএসকে অ্যাক্সেস করার অনুমতি দেওয়ার জন্য এর অভ্যন্তরে জেএস সহ একটি এইচটিএমএল ফাইল নয় বরং একটি এইচটিএএমএ নথি তৈরি করা দরকার।

এইচটিএ ফাইল এর ভিতরে জেএস বা ভিবিএস থাকতে পারে।

তবে এইচটিএ এক্সিকিউটেবল কেবল উইন্ডোজ সিস্টেমে কাজ করবে।

এটি স্ট্যান্ডার্ড ব্রাউজার আচরণ।

গুগল ক্রোম এফএস এপিআই, আরও ইনফোতে এখানে কাজ করেছে: http://www.html5rocks.com/en/tutorials/file/files systemm /


এটি আমি যা খুঁজছিলাম তা মন্তব্য। প্রত্যেকে ইনপুট ট্যাগ হিসাবে ফাইলটিতে ব্যবহারকারী প্রবেশের কোড রাখে, তবে প্রশ্নটি ব্যবহারকারী দ্বারা কোডে উল্লিখিত পথ থেকে স্বয়ংক্রিয়ভাবে ফাইলটি নেওয়ার জন্য। ধন্যবাদ!
কুমার কার্তিক্য

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

অন্য উদাহরণ - আমার ফাইল পাঠক ক্লাস সহ reader

<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

আনয়ন এবং অ্যাসিঙ্ক ফাংশন ব্যবহার করা

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

logFileText('file.txt')

7
আমি পেয়েছি 'সিওআর অনুরোধের জন্য ইউআরএল স্কিম অবশ্যই "HTTP" বা "https" হওয়া উচিত।'
কিওয়ারটি

ধন্যবাদ, আমার জন্য কাজ করে!
অস্কারআগোয়াও

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))">

যখন ব্যবহারকারী সেই ইনপুটটির মাধ্যমে কোনও পাঠ্য ফাইল আপলোড করে, এটি কনসোলে লগ হবে। এখানে একটি ওয়ার্কিং জেসবিন ডেমো রয়েছে

এখানে আরও ভার্বোজ সংস্করণ রয়েছে:

<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 

- জাভাস্ক্রিপ্ট থেকে ফাইল পাঠ্য পড়ুন - জাভাস্ক্রিপ্ট
ব্যবহার করে ফাইল থেকে কনসোল লগ পাঠ্য
-

আমার ক্ষেত্রে গুগল ক্রোম এবং মজিলা ফায়ারফক্স আমার কাছে ফাইলগুলির এই কাঠামো রয়েছে:এখানে চিত্র বর্ণনা লিখুন

কনসোল.লগ ফলাফল:
এখানে চিত্র বর্ণনা লিখুন


নীচে ত্রুটিটি দেখানো হচ্ছে: 'ফাইল: /// সি: XMLHttpRequest এ অ্যাক্সেস: / মাইলোক্যালপথ n প্রপার্টিফিল.টেক্সট' উত্স থেকে 'নাল' অবরুদ্ধ করা হয়েছে: ক্রস অরিজিন অনুরোধগুলি কেবল প্রোটোকল স্কিমগুলির জন্য সমর্থিত: 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

জেএস (ডেটা.জেএস) লোডে স্থানীয় ফাইল ডেটা পান:

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);
}

ডাটা.জেএস এর ফাইল:

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

গতিশীল ইউনিক্সটাইম ক্যোয়ারী স্ট্রিং ক্যাশেড প্রতিরোধ করে।

এজে ওয়েব http: // তে কাজ করে।


আপনি কেন মাল্টিলাইন স্ট্রিংয়ের জন্য ES6 টেমপ্লেট আক্ষরিক সিনট্যাক্স ব্যবহার করবেন না? (দেখুন ডেভেলপার.মোজিলা.আর.ইন-
নীলা_ব্রীক

1

একই-উত্স-নীতিমালার কারণে ক্রোমে স্থানীয় এজেএক্স কলগুলি সমর্থিত নয়।

ক্রোমের ত্রুটি বার্তাটি এরকম: "ক্রস অরিজিন অনুরোধগুলি প্রোটোকল স্কিমগুলির জন্য সমর্থিত নয়: http, ডেটা, ক্রোম, ক্রোম-এক্সটেনশন, https" "

এর অর্থ হ'ল ক্রোম প্রতিটি ডোমেনের জন্য http / https প্রোটোকল ব্যবহার করে ডোমেন দ্বারা পরিবেশন করা ফাইলগুলি রাখার জন্য একটি ভার্চুয়াল ডিস্ক তৈরি করে। এই ভার্চুয়াল ডিস্কের বাইরে ফাইলগুলিতে যে কোনও অ্যাক্সেস একই উত্স নীতিমালার আওতায় নিষিদ্ধ। এজেএক্স অনুরোধ এবং প্রতিক্রিয়াগুলি http / https এ ঘটে, সুতরাং স্থানীয় ফাইলগুলির জন্য কাজ করবে না।

ফায়ারফক্স এ জাতীয় বাধা দেয় না, সুতরাং আপনার কোড ফায়ারফক্সে সুখে কাজ করবে ily তবে ক্রোমের জন্য কার্যকারিতাও রয়েছে: এখানে দেখুন


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>

দয়া করে নোট করুন: গুগল ক্রোমে যদি এইচটিএমএল কোড স্থানীয় হয় তবে ত্রুটিগুলি উপস্থিত হবে, তবে এইচটিএমএল কোড এবং ফাইলগুলি অনলাইনে সংরক্ষণ করে অনলাইনে এইচটিএমএল ফাইল চালানো কাজ করে।


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');

এটি দেখে মনে হচ্ছে তোমাদের মধ্যে একটি মামলা আছে ফাংশন-ব্লগ পোস্ট
Sapphire_Brick

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)
});

আশা করি এটা কাজে লাগবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.