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