HTML5不依靠js來傳輸多文件的源代碼 |
發(fā)布時(shí)間: 2012/7/24 9:17:57 |
雖然現(xiàn)在已經(jīng)可以通過表單的方式用瀏覽器向服務(wù)器傳輸文件,尤其是<input type=file>這種表單控件,然而這東西一次最多只能傳遞一個(gè)文件。如果用戶需要上傳整個(gè)相冊(cè)或者多張圖片,那么技術(shù)人員只好從其他途徑想辦法了,比如Flash或者JS。但是現(xiàn)在通過HTML5提供的新標(biāo)簽,我們就可以完全不需要那些額外的東西了。HTML5為上傳文件提供了幾個(gè)新標(biāo)簽,比如multiple就是為了支持多文件上傳專用的。multiple是一個(gè)bool標(biāo)簽來表示是否允許用戶上傳多個(gè)文件。比如<input type="file" multiple/>在最新版的Safari, Chrome, FireFox, IE以及Opera都是支持的。至于控件的外觀渲染那就是各種瀏覽器自己的事情了。為了能讓用戶一次性選擇多個(gè)文件,用戶將可用Shift或者Ctrl或者CMD按鍵逐個(gè)點(diǎn)擊要添加的文件。 如何使用 從技術(shù)角度看,你只需要在input控件中標(biāo)注multiple標(biāo)簽就夠了 以下就是演示代碼: <!DOCTYPE html> <html> <head> <title> Solution 4-5: Sending multiple files </title> </head> <body> <form id="myForm"> <fieldset> <legend>Solution 4-5: Sending multiple files</legend> <label>Upload one or more files:</label> <input type="file" name="multipleFileUpload" multiple /> </fieldset> </form> </body> </html> 重要心得 用戶選擇的多個(gè)文件傳遞到服務(wù)端后將會(huì)被服務(wù)端的編程語言去處理的。有些編程語言,比如PHP需要你為name標(biāo)簽的字符添加方括號(hào)來支持傳輸多個(gè)文件。 <input name="filesUploaded[]" type="file" multiple /> 這樣,PHP將構(gòu)造一個(gè)數(shù)據(jù)類型的數(shù)組,來容納一個(gè)個(gè)上傳到服務(wù)器的文件。相反如果你在HTML標(biāo)簽中不適用方括號(hào)的話,PHP將僅僅只接受到最后一個(gè)文件。 本文出自:億恩科技【prubsntakaful.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |