JavaScript 直接操作本地檔案的實現代碼

來源:互聯網
上載者:User

日前,Mozilla向W3C提交了一個草案,旨在推出一個JavaScript API,讓JavaScript 指令碼直接操作本地檔案,Firefox的最新瀏覽器版本中已經對該API提供了大量的支援,不過出於安全考慮,該API將只對本地檔案提供有限的訪問。
該API引入了一個FileReader 對象,可以非同步載入本地檔案系統中的檔案,並允許開發人員為諸如載入失敗,進度,載入完成等事件分配回呼函數,它提供的方法可以從本地檔案中讀取文本或位元據,並通過一個 abort 方法隨時打斷操作。

  FileReader對象使用戶端的檔案訪問成為現實,使用者不必再象以前那樣首先將檔案上傳到伺服器才能處理,事實上,IE 和 Firefox 已經擁有一些非標準的方法訪問本地檔案,但這些方法並非標準 JavaScript 行為。

  FileReader對象並不需要特別的許可權,但出於顯然的安全考慮,直接使用檔案路徑進行訪問是不允許的,必須結合常規的 HTML file 對象,使用者點擊瀏覽之後,選擇本地檔案,JavaScript 再通過 DOM 引用該檔案並進行操作,這個機制使得該 API 相對安全一些,因為任何本地檔案的擷取都需要使用者的人工參與。

  以下例子使用該 API 開啟一個本地檔案並將檔案內容顯示在一個 div 容器中,我們甚至可以在 div 上加上 contentEditable 屬性,使用者可以直接編輯檔案的內容,不過,該 API 並沒有提供將檔案內容寫回本地檔案的方法,因此你編輯的內容無法儲存。

儘管在JavaScript中增加API並非多麼重大的技術革命,但它將拓展 Web 應用程式的視野,讓 Web 平台實現越來越多的功能。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.