자바 파일 진도 바 업로드 방법 (데모 원본 다운로드 첨부)

1965 단어
이 글 의 실례 는 자바 가 파일 진도 바 를 업로드 하 는 실현 방법 을 설명 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다. 구체 적 으로 는 다음 과 같 습 니 다.
물건 은 매우 간단 합 니 다. 주로 comons - fileupload 를 사용 합 니 다. 그 중에서 progressListener 의 인터페이스 가 있 습 니 다. 이 인 터 페 이 스 는 업로드 한 파일 의 크기 를 실시 간 으로 업데이트 할 수 있 습 니 다. 이것 이 있 으 면 무슨 말 을 합 니까?
코드 를 보 여 줍 니 다:

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 到目前为止读取文件的比特数
   * pContentLength 文件总大小
   * pItems 目前正在读取第几个文件
   * 只要在session中实时保存文件上传的状态(这里我用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 를 추가 할 수 있 습 니 다.

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


마지막 으로 js 를 통 해 다른 servlet 를 계속 방문 하여 실시 간 으로 업로드 상 태 를 되 돌려 주면 됩 니 다. 지면 에 한 하여 저 는 코드 를 붙 이지 않 고 관심 있 는 독 자 는 직접 다운로드 해서 볼 수 있 습 니 다.
전체 인 스 턴 스 코드 는 이 사이트 에서 다운로드 하려 면 누 르 십시오.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기