您好,登錄后才能下訂單哦!
|
ProgressMonitorFileItemFactory Content-Length頭由瀏覽器設(shè)置并且假定它是被設(shè)置的上傳文件的精確長度。這種確定文件長度的方法確實限制了你在每次請求中上傳的文件-如果有多個文件在該請求中被編碼的話,不過這個值是不精確的。這是由于,瀏覽器僅僅發(fā)送一個Content-Length頭,而不考慮上傳的文件數(shù)目。
除了創(chuàng)建ProgressMonitorFileItem實例之外,ProgressMonitorFileItemFactory還注冊了一個ProgressObserver實例,它將由ProgressMonitorFileItem來發(fā)送文件上傳過程中的更新。我們所使用的ProgressObserver的實現(xiàn)(SessionUpdatingProgressObserver)針對被提交字段的id把進(jìn)度百分?jǐn)?shù)設(shè)置到用戶的會話中。然后,這個值可以由JSF組件存取以便把更新發(fā)送給用戶。
(四) ProgressMonitorFileItem類
|
ProgressMonitorFileItem把DiskFileItem的缺省OutputStream包裝到一個BytesCountingOutputStream中,這可以在每次讀取一定數(shù)目的字節(jié)后更新相關(guān)的ProgressObserver。
(五) 支持AJAX的JavaServer Faces(JSF)上傳組件
這個組件負(fù)責(zé)生成HTML文件上傳標(biāo)簽,顯示一個進(jìn)度條以監(jiān)視文件上傳,并且生成一旦文件上傳成功需要被顯示的組件。使用JavaServer Faces實現(xiàn)這個組件的一個主要優(yōu)點是,大多數(shù)復(fù)雜性被隱藏起來。開發(fā)人員只需要把組件標(biāo)簽添加到JSP,而后由組件負(fù)責(zé)所有的AJAX及相關(guān)的進(jìn)度條監(jiān)控細(xì)節(jié)問題。下面的JSP代碼片斷用于把上傳組件添加到頁面上。
|
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。