這篇文章主要介紹了JS中讀取文件的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網(wǎng)站、網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的措美網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
因為JavaScript中的Web API有了新的方法File API,所以我們在瀏覽器上讀取文件并處理數(shù)據(jù)更加方便而且不需要使用到后端服務器。
FileReader就是從一個文件中讀取數(shù)據(jù)并存儲在一個JavaScript變量中,它與XMLHttpRequest含義差不多,都是從一個外部資源加載數(shù)據(jù)而且讀操作是異步的,這樣的好處是不會使瀏覽器堵塞。它讀取操作的方法有多種多樣的,例如以下幾種方法
(1)readAsText() – 以純文本的形式返回文件內容
該readAsText()方法可用于讀取文本文件。該方法有兩個參數(shù)。第一個參數(shù)是用于File或Blob要被讀取的對象。第二個參數(shù)用于指定文件的編碼。第二個參數(shù)是可選的。如果未指定,UTF-8則默認采用編碼。在設置中需要在文件加載完成后設置一個事件監(jiān)聽器。onload調用事件時,我們可以檢查result屬性FileReader所獲取文件的內容。
<input type="file" id="file" /> <script type="text/javascript"> var file=document.getElementById("file"); var reader = new FileReader(); reader.onload=function(e){ var text=reader.result; } reader.readAsText(file); </script>
(2)readAsArrayBuffer() 方法
該方法將讀取一個Blob或一個File對象并生成一個ArrayBuffer。當讀取操作完成時,readyState 變成 done(已完成),并觸發(fā) loadend 事件,同時 result 屬性中將包含一個 ArrayBuffer 對象用以表示所讀取文件的數(shù)據(jù),ArrayBuffer 是固定長度的二進制數(shù)據(jù)緩沖區(qū)。在操作文件時比如將JPEG圖像轉換為PNG
<script type="text/javascript"> var file=document.getElementById("file"); var reader = new FileReader(); reader.onload=function(e){ var readAsArrayBuffer=reader.result; } reader.readAsArrayBuffer(file); </script>
(3)readAsDataURL() 使用數(shù)據(jù)URL的形式返回文件內容
該方法接受File或Blob生成數(shù)據(jù)URL,這基本上是文件數(shù)據(jù)的base64編碼字符串可以將此數(shù)據(jù)URL用于設置src圖像屬性等內容
<script type="text/javascript"> var file=document.getElementById("file"); var reader = new FileReader(); reader.onload=function(e){ var dataURL = reader.result; } reader.readAsDataURL(file); </script>
上面的三種方法在使用過程中要在開始讀取之前,必須監(jiān)聽load事件,而event.target.result是返回讀取的結果。
感謝你能夠認真閱讀完這篇文章,希望小編分享JS中讀取文件的方法內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學習!
當前文章:JS中讀取文件的方法
網(wǎng)站鏈接:http://www.chinadenli.net/article26/piddcg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、企業(yè)建站、App設計、服務器托管、關鍵詞優(yōu)化、用戶體驗
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)