<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 編程小知識之 JavaScript 文件讀取

          2019-6-3    seo達人

          如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

          本文介紹了兩種在 JavaScript 讀取文件的方法

          文件讀取在當今的編程語言中應該算是一項比較 trivial 的工作了,語言的標準庫一般都會幫助我們做好文件抽象與讀寫緩存,我們僅需要熟悉和運用相關的 API 即可.

          但是 JavaScript 由于安全性的原因,一直以來都沒有提供相關的文件讀取接口,但有時我們確實需要讀取本地文件內容,下面是兩種可能的讀取方法.

          1. 使用 HTML5 中的 FileReader
          HTML5 引入的 FileReader 可以幫助我們讀取本地文件,但是有一個限制,就是我們不能直接使用文件路徑的方式來訪問文件,而是首先需要用戶選擇文件(通過文件選擇或者拖動文件至網頁等方式)

          代碼還是比較簡單的,首先你需要在 html 文件中添加文件選擇表單:

          <input type="file" id="file-input" />
          <div id="file-content" />
          1
          2
          接著就可以在 JavaScript 中進行(用戶選擇的)文件讀取了:

          function readSingleFile(e) {
              // file from "file-input"
              var file = e.target.files[0];
              if (!file) {
                return;
              }
            
              // create FileReader
              var reader = new FileReader();
            
              // load callback
              reader.onload = function(e) {
                var contents = e.target.result;
              
                // process file contents here
                // ...
              
              };
            
              // do read
              reader.readAsText(file);
          }

          // add file input change listener
          var fileInput = document.getElementById("file-input");
          fileInput.addEventListener("change", readSingleFile, false);

          2. 使用 XMLHttpRequest
          XMLHttpRequest 一般用于實現 Ajax,通過他我們也可以實現本地文件的讀取(但是有同源等限制),示例代碼如下:

          var contents = "";

          var xmlhttp = new XMLHttpRequest();
          xmlhttp.onreadystatechange = function() {
              if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
                  contents = xmlhttp.responseText;
                  
                  // process file contents here
                  // ...
                
              }
          };

          // send read request
          xmlhttp.open("GET","abc.txt",true);
          xmlhttp.send();

          更多資料
          http://researchhubs.com/post/computing/javascript/open-a-local-file-with-javascript.html
          https://www.html5rocks.com/en/tutorials/file/dndfiles/
          https://www.liaoxuefeng.com/wiki/1022910821149312/1023022332902400

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          亚洲女久久久噜噜噜熟女| 久久久久国产成人精品亚洲午夜| 久久久久人妻一区二区三区| 久久久久亚洲精品日久生情| 熟妇人妻久久中文字幕| 99热都是精品久久久久久| 久久久久久国产a免费观看黄色大片 | 色婷婷噜噜久久国产精品12p| 久久久免费精品re6| 亚洲国产精品无码久久久久久曰 | 久久久久人妻一区精品果冻| 91精品国产综合久久婷婷| 久久人妻少妇嫩草AV蜜桃| 久久国产成人亚洲精品影院| 亚洲午夜无码久久久久| 久久婷婷五月综合色奶水99啪| 精品人妻伦九区久久AAA片69| 国产美女久久精品香蕉69| 精品无码久久久久久午夜| 久久久久人妻一区精品色| 99久久免费国产特黄| 国产精品久久久久久福利漫画 | 亚洲va久久久噜噜噜久久狠狠| 人妻丰满?V无码久久不卡| 久久婷婷是五月综合色狠狠| 亚洲欧美久久久久9999 | 精品伊人久久久| 久久777国产线看观看精品| 久久99精品国产麻豆宅宅| 波多野结衣久久一区二区| 99久久精品日本一区二区免费| 777久久精品一区二区三区无码 | 狠狠久久综合伊人不卡| 久久精品国产99国产精品导航 | 久久精品一本到99热免费| 久久久久国产成人精品亚洲午夜| 东方aⅴ免费观看久久av| 中文成人久久久久影院免费观看| 久久无码人妻一区二区三区| 三级韩国一区久久二区综合 | 精品免费久久久久久久|