在文件上傳到服務器之前,我們可以通過jquery來獲取上傳文件的名稱,類型和尺寸大小。
通常情況下,當用戶通過<input type='file'>標簽來上傳文件時,我們可以看到上傳文件的名稱。HTML5 File API為我們提供了一種安全的方式,讓我們在客戶端訪問計算機中的文件,并更好的對這些文件執行操作。
支持File API的瀏覽器有IE10+,Firefox4+,Safari5.0.5+,Opera11.1+和Chrome。
File API在表單的文件輸入字段的基礎上,又添加了一些直接訪問文件信息的接口。HTML5在DOM中為文件輸入元素添加了一個files集合。通過文件輸入字段選擇了一個或多個文件時,files集合中包含一組File對象,每個File對象對應著一個文件。每個文件都有下列的只讀屬性:
通過這個files接口,我們就可以在jquery中獲取上傳文件的名稱,類型和尺寸大小。通過下面的demo來體驗一下效果。
1、通過“選擇文件”按鈕來選擇要上傳的文件,可以選擇多個文件。
2、選擇文件后點擊“顯示上傳文件的詳細信息”按鈕來查看文件的詳細信息。
要同時上傳多個文件,需要在文件上傳標簽中添加multiple屬性。上面demo的HTML結構如下:
<input id="fUpload" multiple type="file" /><br /> <ul id="ulList"> </ul> <input id="btnShow" type="button" value="顯示上傳文件的詳細詳細" />
在jquery代碼中,首先檢測被選擇文件的數量,然后通過一個循環來分別獲取每個文件的詳細信息。完整的jquery代碼如下:
$("#btnShow").on('click', function () { $("#ulList").empty(); var fp = $("#fUpload"); var lg = fp[0].files.length; // get length var items = fp[0].files; var fragment = ""; if (lg > 0) { for (var i = 0; i < lg; i++) { var fileName = items[i].name; // get file name var fileSize = items[i].size; // get file size var fileType = items[i].type; // get file type // append li to UL tag to display File info fragment += "<li>" + fileName + " (<b>" + fileSize + "</b> bytes) - Type :" + fileType + "</li>"; } $("#ulList").append(fragment); } });
這篇文章就介紹到這了,需要的朋友可以參考一下。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com