유익하셨다면 광고 한번씩만 클릭해주시면 감사하겠습니다.
반응형
파일업로드를 구현하기 위해서는 먼저 설정을 해줘야한다.
자바프로젝트의 pom.xml 에 아래의 dependency를 추가해준다.
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
그 후 두번째로 context-common.xml의 파일에 bean을 추가해준다.
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000000" /> <!-- 100MB -->
</bean>
그 다음으로 해줘야하는것이 JSP 소스이다.
제일 마지막속성인 multiple속성 같은경우에 다중파일업로드를 할것이 아니라면 삭제해도 좋다.
<form name="uploadForm" action="fileUpload.do" method="post" enctype="multipart/form-data">
<input type="file" name="uploadFile" multiple="multiple" />
<input type="submit" value="저장" />
</form>
마지막으로 컨트롤러의 소스이다.
@RequestMapping(value="uploadFile.do")
public void requestupload1(MultipartHttpServletRequest mrequest) {
MultipartFile mf = mrequest.getFile("uploadFile");
String absolutePath = "C:\\upload\\"; // 업로드될 파일 경로
String originFileName = mf.getOriginalFilename(); // 원본 파일 명
long fileSize = mf.getSize(); // 파일 사이즈
String fileType = mf.getContentType(); // 파일 종류
byte[] buffer = new byte[8192];
int bytesRead = 0;
InputStream is = null;
OutputStream bos = null;
try{
is = mf.getInputStream();
// 업로드 디렉토리 체크 후 없으면 생성..
file dirPath = new File(absolutePath);
if(!dirPath.exists()){
dirPath.mkdirs();
}
File newFile = new File(absolutePath + File.separator + originFileName);
bos = new FileOutputStream(newFile);
while((bytesRead = is.read(buffer, 0, 8192)) != -1){
bos.write(buffer,0,bytesRead);
}
bos.close();
is.close();
}catch(Exception e){
e.printStackTrace();
}finally{
if(bos != null){
try{
bos.close();
}catch(IOException e){
e.printStackTrace();
}
}
if(is != null){
try{
is.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
이로써 파일 업로드 소스를 구현하는게 끝이났다.
반응형
'JAVA' 카테고리의 다른 글
String 배열에 값 넣기 (0) | 2020.12.15 |
---|---|
자바 스프링(Spring) 스케쥴러 생성하기 (0) | 2020.11.24 |
자바 Calendar 클래스를 이용한 달력 출력 (0) | 2018.09.07 |
자바 Exception처리 예제(국어,영어,수학 점수 입력받아 출력하기) (0) | 2018.09.07 |
자바 메소드(Method) 예제 (메소드 상속(Inheritance)) (0) | 2018.08.27 |