欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java上傳文件進(jìn)度條的實現(xiàn)方法(附demo源碼下載)

 更新時間:2015年12月21日 14:10:48   作者:李超@hicc  
這篇文章主要介紹了Java上傳文件進(jìn)度條的實現(xiàn)方法,可簡單實現(xiàn)顯示文件上傳比特數(shù)及進(jìn)度的功能,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下

本文實例講述了Java上傳文件進(jìn)度條的實現(xiàn)方法。分享給大家供大家參考,具體如下:

東西很簡單,主要用到commons-fileupload,其中有一個progressListener的接口,該接口可以實現(xiàn)實時更新已上傳文件的大小,有了這個還說什么呢?

這里給出代碼:

package lc.progress;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import lc.progress.vo.fileUploadStatus;
import org.apache.commons.fileupload.ProgressListener;
public class myProgressListener implements ProgressListener {
  private HttpSession session;
  public myProgressListener(HttpServletRequest req) {
    session=req.getSession();
    fileUploadStatus status = new fileUploadStatus();
    session.setAttribute("status", status);
  }
  /* pBytesRead 到目前為止讀取文件的比特數(shù)
   * pContentLength 文件總大小
   * pItems 目前正在讀取第幾個文件
   * 只要在session中實時保存文件上傳的狀態(tài)(這里我用fileUploadStatus類來封裝)
   */
  public void update(long pBytesRead, long pContentLength, int pItems) {
    // TODO Auto-generated method stub
    fileUploadStatus status = (fileUploadStatus) session.getAttribute("status");
    status.setPBytesRead(pBytesRead);
    status.setPContentLength(pContentLength);
    status.setPItems(pItems);
  }
}

然后在上傳得servlet或action中加入這樣一段代碼,就可以把自定義的progressListener添加進(jìn)去

myProgressListener getBarListener = new myProgressListener(req);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setProgressListener(getBarListener);

最后就是通過js來不斷的訪問另一個servlet來實時返回上傳狀態(tài)就可以了,限于篇幅我就不再貼代碼了,有興趣的讀者可以自己下載來看。

完整實例代碼點擊此處本站下載。

希望本文所述對大家Java程序設(shè)計有所幫助。

相關(guān)文章

  • Java數(shù)據(jù)結(jié)構(gòu)BFS廣搜法解決迷宮問題

    Java數(shù)據(jù)結(jié)構(gòu)BFS廣搜法解決迷宮問題

    廣搜BFS的基本思想是: 首先訪問初始點v并將其標(biāo)志為已經(jīng)訪問。接著通過鄰接關(guān)系將鄰接點入隊。然后每訪問過一個頂點則出隊。按照順序,訪問每一個頂點的所有未被訪問過的頂點直到所有的頂點均被訪問過。廣度優(yōu)先遍歷類似與層次遍歷
    2022-04-04
  • IDEA2020配置Git的方法步驟

    IDEA2020配置Git的方法步驟

    這篇文章主要介紹了IDEA2020配置Git的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • java 中ArrayList迭代的兩種實現(xiàn)方法

    java 中ArrayList迭代的兩種實現(xiàn)方法

    這篇文章主要介紹了java 中ArrayList迭代的兩種實現(xiàn)方法的相關(guān)資料,Iterator與for語句的結(jié)合,需要的朋友可以參考下
    2017-09-09
  • java中jdk的下載和安裝全過程

    java中jdk的下載和安裝全過程

    這篇文章主要給大家介紹了關(guān)于java中jdk的下載和安裝的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • java8快速實現(xiàn)List轉(zhuǎn)map 、分組、過濾等操作

    java8快速實現(xiàn)List轉(zhuǎn)map 、分組、過濾等操作

    這篇文章主要介紹了java8快速實現(xiàn)List轉(zhuǎn)map 、分組、過濾等操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作示例

    Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作示例

    這篇文章主要介紹了Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作,結(jié)合實例形式分析了java針對數(shù)組元素查詢、修改的封裝操作實現(xiàn)技巧,需要的朋友可以參考下
    2020-03-03
  • 一文帶你搞懂什么是BIO

    一文帶你搞懂什么是BIO

    BIO英文全名是 blocking IO,也叫做 阻塞IO,是最容易理解、最容易實現(xiàn)的IO工作方式,本文就來通過一些簡單的示例為大家講講什么是BIO吧
    2023-06-06
  • IDEA類和方法注釋模板設(shè)置(非常詳細(xì))

    IDEA類和方法注釋模板設(shè)置(非常詳細(xì))

    這篇文章主要介紹了IDEA類和方法注釋模板設(shè)置(非常詳細(xì)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Spring?BeanFactory容器的構(gòu)建和使用示例詳解

    Spring?BeanFactory容器的構(gòu)建和使用示例詳解

    BeanFactory是Spring框架中的一部分,它提供了IoC(控制反轉(zhuǎn))的實現(xiàn)機(jī)制,下面小編就來和大家簡單聊聊BeanFactory容器的構(gòu)建和使用示例吧
    2023-07-07
  • Java注解詳解及實現(xiàn)自定義注解的方法

    Java注解詳解及實現(xiàn)自定義注解的方法

    這篇文章主要介紹了Java注解詳解及實現(xiàn)自定義注解的方法,本文給大家介紹了jdk中預(yù)定義的一些注解及自定義注解的相關(guān)知識,需要的朋友可以參考下
    2022-06-06

最新評論