반응형
1. cos.jar 라이브러리 다운로드
http://www.servlets.com/cos/
2. 프로젝트에 cos.jar 라이브러리 추가
3. 업로드 경로 생성
4. 업로드 form
<form action="FileUploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file"/><br>
<input type="submit" name="submit" value="전송"/>
</form>
5. 서블릿
@WebServlet("/FileUploadServlet")
public class FileUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 파일이 저장되는 실제 경로
String realPath = request.getServletContext().getRealPath("resources/image");
// 위 경로의 디렉토리가 존재하지 않으면 새로 생성
File dir = new File(realPath);
if (!dir.exists()) {
dir.mkdirs();
}
// 파일크기 제한 설정 (15mb)
int sizeLimit = 15 * 1024 * 1024;
// MultipartRequest 객체를 생성하면 파일 업로드 수행
MultipartRequest multpartRequest = new MultipartRequest(request, realPath, sizeLimit, "utf-8",
new DefaultFileRenamePolicy());
// 업로드한 파일명 가져오기
String fileName = multpartRequest.getFilesystemName("file");
response.sendRedirect("result.jsp?filename=" + fileName);
}
}
6. 업로드한 이미지 출력
파일이 실제 저장된 로컬 경로(C:\Users\...\resources\image)가 아닌 서버 경로(ex-FileUpload/resources/image)를 통해 접근해야 한다.
<img src="${pageContext.request.contextPath }/resources/image/${param.filename}">
* 업로드 한 파일의 위치
실제로 파일이 저장되는 곳은 현재 작업하고 있는 프로젝트가 아니라 서버에 올라가 있는 프로젝트이다.
반응형
'개발_웹 > Java' 카테고리의 다른 글
Java | Java에서 Swap 함수 구현 (Java의 call-by-reference) (0) | 2021.02.17 |
---|---|
Java | 파일 다운로드 (0) | 2019.05.11 |
Java | 파일 복사하기 (텍스트, 바이너리) (0) | 2019.05.11 |
Java | 에러 페이지 만들기 (0) | 2019.05.11 |
Java | 웹 어플리케이션 경로 구하기 (ContextPath) (0) | 2019.05.11 |