自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HTML 5 File API應(yīng)用實(shí)例

開發(fā) 前端
在HTML 5里,從Web網(wǎng)頁上訪問本地文件系統(tǒng)變的十分的簡單,那就是使用File API。這個(gè)File規(guī)范說明里提供了一個(gè)API來表現(xiàn)Web應(yīng)用里的文件對象,你可以通過編程來選擇它們,訪問它們的信息。

關(guān)于HTML 5,51CTO已陸續(xù)報(bào)道了幾篇關(guān)于HTML 5應(yīng)用技巧方面的文章,比如《探秘HTML 5鏈接預(yù)取功能》、《HTML 5 Web Sockets應(yīng)用初探》等等,下面我們將介紹一個(gè)簡單的應(yīng)用,該應(yīng)用主要使用了HTML 5中的FileReader方法,F(xiàn)ileReader就是HTML 5所提供的File API。

51CTO推薦專題: HTML 5  下一代Web開發(fā)標(biāo)準(zhǔn)詳解

在HTML 5里,從Web網(wǎng)頁上訪問本地文件系統(tǒng)變的十分的簡單,那就是使用File API。這個(gè)File規(guī)范說明里提供了一個(gè)API來表現(xiàn)Web應(yīng)用里的文件對象,你可以通過編程來選擇它們,訪問它們的信息。這個(gè)File API包括:

◆一個(gè)FileList序列,代表著由本地系統(tǒng)里選中的單個(gè)的文件組成的數(shù)組。用來選擇文件的用戶接口可以通過<input type=”file”>調(diào)用實(shí)現(xiàn)。

◆一個(gè)Blob接口,它代表原始二進(jìn)制數(shù)據(jù),通過Blob對象你可以訪問里面的字節(jié)數(shù)據(jù)。

◆一個(gè)File接口,它里面存有文件的只讀屬性信息,像文件名,文件類型,文件數(shù)據(jù)訪問的地址。

◆一個(gè)FileReader接口,它提供了讀取一個(gè)文件的方法,和一個(gè)獲取文件讀取結(jié)果的事件模型。

◆一個(gè)FileError接口和一個(gè)FileException對象,它們用來定義這個(gè)規(guī)范中的錯(cuò)誤產(chǎn)生條件。

如何使用這個(gè)例子:在這個(gè)例子中,給出了一個(gè)畫板,你可以從本地文件系統(tǒng)里拖拽進(jìn)去一個(gè)圖片,或者你也可以用文件選擇框來選擇圖片。例子中,請只選擇圖片文件,請注意,該例子中并沒有添加文件過濾和文件類型檢查。請記住,沒有一個(gè)瀏覽器完全實(shí)現(xiàn)了HTML 5,這個(gè)例子需要在支持HTML 5的瀏覽器上運(yùn)行,比如Firefox3.5以上。

下面就是這個(gè)例子 (拖拽一個(gè)圖片到畫板里):

拖拽一個(gè)圖片到畫板

實(shí)現(xiàn)File API的主要方法非常的簡單,就像下面:

  1. function imagesSelected(myFiles) {  
  2.   for (var i = 0, f; f = myFiles[i]; i++) {  
  3.     var imageReader = new FileReader();  
  4.     imageReader.onload = (function(aFile) {  
  5.       return function(e) {  
  6.         var span = document.createElement(’span‘);  
  7.         span.innerHTML = ['<img class="images" src="', e.target.result,'" title="', aFile.name, '"/>'].join(”);  
  8.         document.getElementById(‘thumbs’).insertBefore(span, null);  
  9.       };  
  10.     })(f);  
  11.     imageReader.readAsDataURL(f);  
  12.   }  
  13. }  
  14.  
  15. function dropIt(e) {    
  16.    imagesSelected(e.dataTransfer.files);   
  17.    e.stopPropagation();    
  18.    e.preventDefault();     
  19. }   

 選擇在<td>上放置ondrop事件:

  1. <td align=”left” height=”105″ ondragenter=”return false” ondragover=”return false” ondrop=”dropIt(event)”>      
  2.    <output id=”thumbs”></output>   
  3. </td> 

這個(gè)例子只是演示了拖拽本地文件到畫板里,主要是想展示出HTML 5 File API簡單但又強(qiáng)大的能力。

代碼下載:https://www.ibm.com/developerworks/mydeveloperworks/files/app?lang=en#/person/270000CN12/file/c12b834e-5ec2-457d-80fa-97df433938d7

原文作者:Bob Leah

原文鏈接:https://www.ibm.com/developerworks/mydeveloperworks/blogs/bobleah/entry/
html5_code_example_of_file_api_drag_drop_hard_drive_files_to_a_webpage28?lang=en

【編輯推薦】

  1. HTML 5學(xué)前熱身 實(shí)用技巧及應(yīng)用詳解
  2. 現(xiàn)在如何在你的站點(diǎn)上使用HTML 5
  3. HTML 5視頻標(biāo)簽全屬性詳解
  4. 為網(wǎng)站提速 探秘HTML 5鏈接預(yù)取功能
  5. 從零開始構(gòu)建HTML 5 Web頁面

 

責(zé)任編輯:王曉東 來源: 外刊IT評論
相關(guān)推薦

2012-01-04 09:42:40

HTML 5

2012-03-07 10:04:11

HTML 5

2012-11-05 10:34:52

IBMdw

2011-07-14 09:16:10

HTML 5

2021-08-12 18:49:41

DataStreamAPI注冊

2010-01-29 09:00:48

HTML5 File 文件拖放上傳

2010-08-09 08:48:46

File APIWeb

2013-01-18 10:59:44

IBMdW

2012-06-18 15:40:32

jQuery

2017-08-09 15:57:11

JavaScriptHtml5音頻

2014-08-28 10:16:17

HTML5

2010-09-26 08:46:06

HTML 5Cache Manif

2009-09-08 13:47:11

SproutCoreHTML 5應(yīng)用框架

2012-05-23 13:00:37

HTML5

2012-06-07 15:51:40

HTML5

2010-08-10 09:08:29

WebSocketsHTML 5

2012-05-15 09:42:06

2011-11-23 09:11:36

API

2011-12-21 21:56:45

PhoneGap APFile

2011-12-12 09:04:35

HTML 5
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號