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

    2019-6-3    seo達人

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

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

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

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

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

    代碼還是比較簡單的,首先你需要在 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 一般用于實現(xiàn) Ajax,通過他我們也可以實現(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

    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 自拍中文精品无码| 久久国产乱子伦免费精品| 亚洲欧洲精品无码AV| 911亚洲精品国内自产| 精品无码国产自产拍在线观看| 麻豆精品成人免费国产片| 亚洲国产精品福利片在线观看| 精品91自产拍在线观看| 精品国产污污免费网站| 一夲道无码人妻精品一区二区| 精品国产高清在线拍| 久久这里只精品国产99热| 久久精品无码午夜福利理论片| 欧美精品VIDEOSEX极品| www.日韩精品| sihu国产精品永久免费| 精品亚洲国产成AV人片传媒| 在线涩涩免费观看国产精品| 日韩欧美国产精品第一页不卡| 国产日韩精品无码区免费专区国产 | 欧美日韩国产中文精品字幕自在自线 | 国产精品久久久久AV福利动漫| 亚洲精品无码MV在线观看 | 亚洲AV成人无码久久精品老人| 日韩精品亚洲专区在线观看| 国产精品性爱| 亚洲精品高清视频| 久久精品国产一区| 国产成人精品福利网站在线| 91麻豆精品国产自产在线观看一区| 色欲国产麻豆一精品一AV一免费| 亚洲国产精品无码专区| 亚洲精品无码专区久久久| 亚洲av永久无码精品表情包| 伊人久久精品无码二区麻豆| 亚洲国产精品久久电影欧美| 亚洲2022国产成人精品无码区| 久久综合国产乱子伦精品免费 | 久久精品这里只有精99品| 久久精品一区二区影院| 伊人精品视频在线|