婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5來實現(xiàn)本地文件讀取和寫入的實現(xiàn)方法

HTML5來實現(xiàn)本地文件讀取和寫入的實現(xiàn)方法

熱門標(biāo)簽:智能語音電銷機器人客戶端 江西ai電銷機器人如何 威海語音外呼系統(tǒng)平臺 通遼地圖標(biāo)注app 中國地圖標(biāo)注城市的 西安金倫外呼系統(tǒng) 地圖標(biāo)注員工作內(nèi)容 高德地圖標(biāo)注廁所 地圖標(biāo)注沿海城市房價

最近有這樣一個需求,就是在html頁面中有個按鈕導(dǎo)出,點擊它,將構(gòu)造一個文檔并存儲到本地文件系統(tǒng)中。另外還有個按鈕,點擊它,從本地文件系統(tǒng)中讀取一個文件并對內(nèi)容進行分析。

說白了,就是一件事,就是如何讀取或?qū)懭氡镜匚募到y(tǒng)中的文件。

這件事情在html5以前是一件非??植赖?,因為瀏覽器對本地文件系統(tǒng)有非常強的保護,似乎是一種叫做沙盒的機制,總之是,js不可以直接操作它。所以,這個時候,要想讀某個文件,就需要將文件上傳到服務(wù)器,然后服務(wù)器讀取并解析這個文件,并將解析結(jié)果返回客戶端。寫一個文件,就稍微簡單些,js沒辦法寫,所以只能是服務(wù)器動態(tài)生成一個文件,并以下載的方式來下載它(attachment)。但是這樣其實是很不合理的。因為要操作這個文件的是js引擎,但是中間還需要通過一個服務(wù)器。

html5來了它提供了一套文件系統(tǒng)的API,可以實現(xiàn)文件讀寫,我很好奇,這個需求可能是很常見的,但是網(wǎng)上卻很少有Demo.所以,自己整理了一下。

文件讀取

文件讀取要利用到的API是FileReader,在html中的元素為:

<div>
    <input type="file" id="files" style="display:none" onchange="import();"/>
    <input type="button" id="import" value="導(dǎo)入"/>
</div>

 html中元素就這么簡單,首先需要一個file類型的input元素,這里為啥要display:none呢?因為這個東西太丑了

js代碼:

$("#import").click(function(){//點擊導(dǎo)入按鈕,使files觸發(fā)點擊事件,然后完成讀取文件的操作。
        $("#files").click();
    });
 
function import(){
    var selectedFile = document.getElementById("files").files[0];//獲取讀取的File對象
    var name = selectedFile.name;//讀取選中文件的文件名
    var size = selectedFile.size;//讀取選中文件的大小
    console.log("文件名:"+name+"大?。?quot;+size);
 
    var reader = new FileReader();//這里是核心!??!讀取操作就是由它完成的。
    reader.readAsText(selectedFile);//讀取文件的內(nèi)容
 
    reader.onload = function(){
        console.log(this.result);//當(dāng)讀取完成之后會回調(diào)這個函數(shù),然后此時文件的內(nèi)容存儲到了result中。直接操作即可。
    };
}

這樣,讀取本地文件的操作就完成了。有些網(wǎng)友說什么使用ActiveXObject的什么的,這個只有在IE中才能使用,但是現(xiàn)在連微軟都放棄了IE,所以,不要這樣使用。

寫入文件

寫入文件稍微復(fù)雜了一些,雖然在html5中與FileReader相對應(yīng)的也有一個FileWriter,但是這個東西用起來實在是不爽,至少我查了大半天,沒有找到一個可以用的API,此外,F(xiàn)ileReader可以被Chrome、FF和Safari都支持。當(dāng)然了,要求一定版本以上的。 但是FileWriter似乎只有被Chrome支持。不管了,能用就好。

//首先導(dǎo)入一個js文件
<script type="text/JavaScript" src="./js/FileSaver.js" charset="utf-8"></script>
//html中添加一個導(dǎo)出元素 
<input type="button" id="export" value="導(dǎo)出"/>
//js文件
$("#export).click(function(){
    var content = "這是直接使用html5進行導(dǎo)出的";
    var blob = new Blob([content], {type: "text/plain;charset=utf-8"});
    saveAs(blob, "file.txt");//saveAs(blob,filename)
});

到此這篇關(guān)于HTML5來實現(xiàn)本地文件讀取和寫入的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)HTML5本地文件讀取寫入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!  

標(biāo)簽:眉山 營口 晉中 北海 河池 阜陽 崇左 青海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5來實現(xiàn)本地文件讀取和寫入的實現(xiàn)方法》,本文關(guān)鍵詞  HTML5,來,實現(xiàn),本地,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5來實現(xiàn)本地文件讀取和寫入的實現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5來實現(xiàn)本地文件讀取和寫入的實現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 灵川县| 乌兰县| 新化县| 广河县| 东辽县| 中阳县| 泸西县| 三台县| 宝兴县| 陇西县| 金平| 松滋市| 大连市| 略阳县| 枝江市| 石阡县| 石河子市| 苏尼特左旗| 香河县| 中西区| 泰兴市| 宁波市| 桐乡市| 剑河县| 阳原县| 福清市| 余庆县| 依兰县| 临西县| 绵阳市| 左权县| 女性| 河北省| 信丰县| 策勒县| 扬州市| 万安县| 昔阳县| 丰都县| 山东省| 呼图壁县|