자바 파일 진도 바 업로드 방법 (데모 원본 다운로드 첨부)
물건 은 매우 간단 합 니 다. 주로 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 를 계속 방문 하여 실시 간 으로 업로드 상 태 를 되 돌려 주면 됩 니 다. 지면 에 한 하여 저 는 코드 를 붙 이지 않 고 관심 있 는 독 자 는 직접 다운로드 해서 볼 수 있 습 니 다.
전체 인 스 턴 스 코드 는 이 사이트 에서 다운로드 하려 면 누 르 십시오.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.