国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

基于Ajax技術(shù)實(shí)現(xiàn)文件上傳帶進(jìn)度條

2024-09-01 08:27:56
字體:
供稿:網(wǎng)友

1.概述

在實(shí)際的Web應(yīng)該開發(fā)或網(wǎng)站開發(fā)過程中,經(jīng)常需要實(shí)現(xiàn)文件上傳的功能。在文件上傳過程中,經(jīng)常需要用戶進(jìn)行長時(shí)間的等待,為了讓用戶及時(shí)了解上傳進(jìn)度,可以在上傳文件的同時(shí),顯示文件的上傳進(jìn)度條。運(yùn)行本實(shí)例,如圖1所示,訪問文件上傳頁面,單擊“瀏覽”按鈕選擇要上傳的文件,注意文件不能超過50MB,否則系統(tǒng)將給出錯(cuò)誤提示。選擇完要上傳的文件后,單擊“提交”按鈕,將會(huì)上傳文件并顯示上傳進(jìn)度。

2.技術(shù)要點(diǎn)

主要是應(yīng)用開源的Common-FileUpload組件來實(shí)現(xiàn)分段文件上傳,從而實(shí)現(xiàn)在上傳過程中,不斷獲取上傳進(jìn)度。下面對Common-FileUpload組件進(jìn)行詳細(xì)介紹。

Common-FileUpload組件時(shí)Apache組織下的jakarta-commons項(xiàng)目下的一個(gè)子項(xiàng)目,該組件可以方便地將multipart/form-data類型請求中的各種表單域解析出來。該組件需要另一個(gè)名為Common-IO的組件的支持。這兩個(gè)組件包文件可以到http://commons.apache.org網(wǎng)站上進(jìn)行下載。

(1)創(chuàng)建上傳對象

在應(yīng)該Common-FileUpload組件實(shí)現(xiàn)文件上傳時(shí),需要?jiǎng)?chuàng)建一個(gè)工廠對象,并根據(jù)該工廠對象創(chuàng)建一個(gè)新的文件上傳對象,具體代碼如下:

DiskFileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory); 

(2)解析上傳請求

創(chuàng)建一個(gè)文件上傳對象后,就可以應(yīng)用該對象來解析上傳請求,獲取全部的表單項(xiàng),可以通過文件上傳對象的parseRequest()方法來實(shí)現(xiàn)。parseRequest()方法的語法結(jié)構(gòu)如下:

public List parseRequest(HttpServletRequest request) throws FileUploadException 

(3)FileItem類

在Common-FileUpload組件中,無論是文件域還是普通表單域,都當(dāng)成FileItem對象來處理。如果該對象的isFormField()方法返回值為true,則表示是一個(gè)普通表單域,否則為一個(gè)文件域。在實(shí)現(xiàn)文件上傳時(shí),可以通過FileItem類的getName()方法獲得上傳文件的文件名,通過getSize()方法獲得上傳文件的大小。

3.具體實(shí)現(xiàn)

(1)創(chuàng)建request.js文件,在該文件中編寫Ajax請求方法。

(2)新建文件上傳頁index.jsp,在該頁中添加用于獲得上傳文件信息的表單以及表單元素,并添加用于顯示進(jìn)度條的<div>標(biāo)簽和顯示百分比的<span>標(biāo)簽,關(guān)鍵代碼如下:

<form enctype="multipart/form-data" method="post" action="UpLoad?action=uploadFile">

請選擇上傳的文件:<input name="file" type="file" size="34">

注:文件大小請控制在50M以內(nèi)。

<div id="progressBar" class="prog_border" align="left"><img src="images/progressBar.gif" width="0" height="13" id="imgProgress"></div><span id="progressPercent" style="width:40px;display:none">0%</span><input name="Submit" type="button" value="提交" onClick="deal(this.form)"><input name="Reset" type="reset" class="btn_grey" value="重置"></td></form>             
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 余干县| 睢宁县| 探索| 天全县| 亳州市| 炉霍县| 昆山市| 南溪县| 诸暨市| 光山县| 南平市| 岳池县| 西和县| 马龙县| 美姑县| 新蔡县| 彭阳县| 邵阳县| 曲周县| 通渭县| 威远县| 明水县| 乐业县| 宁河县| 北票市| 彭阳县| 中宁县| 蒙城县| 博罗县| 商洛市| 望奎县| 澄城县| 盐池县| 丽水市| 盖州市| 原阳县| 西贡区| 平遥县| 穆棱市| 中阳县| 碌曲县|