轉自: http://news.csdn.net/a/20091127/215284.html
日前,Mozilla 的 Arun Ranganathan 向 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 引擎的效率在各大瀏覽器的顯著提高,JavaScript 可以做越來越多的事,本地文件 API 的引入將讓很多有趣的功能成為現實。盡管該 API 并非多么重大的技術革命,但它將拓展 Web 應用的視野,讓 Web 平臺實現越來越多的功能。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
