<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 編程小知識(shí)之 JavaScript 文件讀取

    2019-6-3    seo達(dá)人

    如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

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

    文件讀取在當(dāng)今的編程語(yǔ)言中應(yīng)該算是一項(xiàng)比較 trivial 的工作了,語(yǔ)言的標(biāo)準(zhǔn)庫(kù)一般都會(huì)幫助我們做好文件抽象與讀寫緩存,我們僅需要熟悉和運(yùn)用相關(guān)的 API 即可.

    但是 JavaScript 由于安全性的原因,一直以來(lái)都沒(méi)有提供相關(guān)的文件讀取接口,但有時(shí)我們確實(shí)需要讀取本地文件內(nèi)容,下面是兩種可能的讀取方法.

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

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

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

    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 一般用于實(shí)現(xiàn) Ajax,通過(guò)他我們也可以實(shí)現(xiàn)本地文件的讀取(但是有同源等限制),示例代碼如下:

    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

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 国产精品国产三级国产AⅤ| MM1313亚洲国产精品| 国自产偷精品不卡在线| 国产午夜精品理论片久久| 国内精品欧美久久精品| 精品无码一区二区三区爱欲九九| 精品国产91久久久久久久a| 国产精品天天影视久久综合网 | 国产精品无码A∨精品影院| 精品人体无码一区二区三区| 日韩精品一区二三区中文| 正在播放酒店精品少妇约| 国产成人高清精品一区二区三区 | 久久国产美女免费观看精品| 欧美精品免费在线| 国产精品99精品视频网站| AV无码精品一区二区三区| 亚洲av午夜福利精品一区人妖| 国产精品视频一区二区三区无码 | 一本一道久久精品综合| 91精品美女在线| 东京热TOKYO综合久久精品| 久久精品aⅴ无码中文字字幕重口| 亚洲韩精品欧美一区二区三区| 久久免费国产精品| 精品久久久久久国产三级| 国产成人精品综合在线观看| 久久夜色精品国产亚洲| 国产在线不卡午夜精品2021 | 国产精品嫩草影院久久| 成人亚洲日韩精品免费视频| 911亚洲精品不卡| 2021年精品国产福利在线| 久久精品国产影库免费看| 久久99精品国产麻豆宅宅| 久久亚洲精品视频| 成人国产精品一区二区视频| 国产精品成人啪精品视频免费 | 一本一道久久精品综合| 国产精品无码素人福利| 国产精品香蕉在线观看|