fileupload를 이용하여 파일 업로드
1959 단어 servlet
폼을 servlet에 제출하여 처리하는 것을 예로 들 수 있습니다.
파일 필드가 포함된 form은 다음과 같습니다.
enctype="multipart/form-data"
STEP1:
업로드 어셈블리 서브렛 파일 업로드를 구성하는 데 사용되는 하드 디스크 파일 팩토리를 인스턴스화합니다.
DiskFileItemFactory factory = new DiskFileItemFactory();
STEP2:
파일을 업로드할 때 임시로 저장할 메모리 크기(예: 4K)를 설정합니다. 더 많은 부분은 하드디스크에 임시로 존재합니다.
factory.setSizeThreshold(4 * 1024);
STEP3:
임시 파일을 저장할 디렉토리 설정
factory.setRepository(new File (임시 파일 디렉터리의 절대 경로);
STEP4:
상기 공장 실례화로 구성 요소 업로드
ServletFileUpload upload = new ServletFileUpload(factory);
STEP5:
10M의 경우 최대 업로드 크기 설정
upload.setSizeMax(10 * 1024 * 1024);
그리고 Request에서 모든 업로드 영역의 목록을 가져옵니다
List fileItemList = upload.parseRequest(request);
업로드된 모든 파일 가져오기
Iterator fileItemIt = fileItemList .iterator();
모든 파일 루프
while (fileItemIt.hasNext()) {
FileItem fileItem = (FileItem) fileItr.next();
fileItem:
1. 파일 도메인 판단: isFormField()
2.파일의 전체 경로: getName()
3.파일 크기: getSize()
업로드된 파일을 저장하려면 다음과 같이 하십시오.
fileItem.write(새 파일의 절대 경로);
}
제출한form이 다른 영역(예를 들어 >>>>> 2011 - 06 - 11 업데이트:
Apache Commons File Upload로 파일을 업로드할 때 중국어 난자 문제가 발생할 수 있습니다. 가져온 파일 경로나 파일 이름이 난자일 수도 있고 가져올 수 있는 폼 필드가 난자일 수도 있습니다. UTF-8 인코딩을 예로 들면 다음과 같습니다. File Upload를 호출합니다.settingHeaderEncoding ("UTF-8") 은 경로나 파일 이름이 부호화되는 문제를 해결할 수 있습니다.필드 값을 가져올 때 FileItem을 사용합니다.getString ("UTF-8"), 이 설정은 가져오는 폼 필드가 부호화되는 문제를 해결할 수 있습니다.
request.setCheracterEncoding("utf-8");
DiskFileUpload.setHeaderEncoding("utf-8");
FileItem.getString("utf-8");
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
5분 안에 JSP 배우기Java 생태계는 지난 20년 동안 많이 발전했으며 이는 시장에서 변함없이 인기를 얻고 있음으로 알 수 있습니다. 글쎄, 이것은 다른 프로그래밍 언어 중 하나에 대한 탄탄한 배경이 있거나 새로운 개발자이지만 시간이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.