Riucc's Storage
RSS
태그
관리
쓰기
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
Riucc's Storage

[JSP] - 이미지 DB 처리 및 이미지 출력

JSP 개발 참고|2018. 5. 2. 00:01
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

○ 이미지 DB 처리 및 이미지 출력

 

// index.jsp : 이미지 파일을 올리기 위한 폼


<body>

<!-- enctype은 파입 업로드에서 무조건 사용되어야한다 -->

<form action="uploadAction.jsp" method="post" enctype="multipart/form-data">

파일 : <input type="file" name="file"><br>

<input type="submit" value="업로드"><br>

</form>

</body>


// uploadAction : 이미지 경로를 DB 저장 및 프로젝트 폴더에 저장


<!-- 파일업로드 위한 라이브러리 임포트 -->

<%@ page import="file.fileDAO" %>

<%@ page import="java.io.File" %>

<!-- 파일 이름이 동일한게 나오면 자동으로 다른걸로 바꿔주고 그런 행동 해주는것 -->

<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy" %>

<!-- 실제로 파일 업로드 하기 위한 클래스 -->

<%@ page import="com.oreilly.servlet.MultipartRequest" %>

<!-- 위에것들 head 태그 위에 추가해줄 것 -->


<body>

<%

 // 해당 폴더에 이미지를 저장시킨다

  String uploadDir =this.getClass().getResource("").getPath();

uploadDir = uploadDir.substring(1,uploadDir.indexOf(".metadata"))+"uploadTest/WebContent/uploadImage";

out.println("절대경로 : " + uploadDir + "<br/>"); 

 

// 총 100M 까지 저장 가능하게 함

int maxSize = 1024 * 1024 * 100;

String encoding = "UTF-8";

// 사용자가 전송한 파일정보 토대로 업로드 장소에 파일 업로드 수행할 수 있게 함

MultipartRequest multipartRequest

= new MultipartRequest(request, uploadDir, maxSize, encoding,

new DefaultFileRenamePolicy());

                // 중복된 파일이름이 있기에 fileRealName이 실제로 서버에 저장된 경로이자 파일

                // fineName은 사용자가 올린 파일의 이름이다

// 이전 클래스 name = "file" 실제 사용자가 저장한 실제 네임

String fileName = multipartRequest.getOriginalFileName("file");

// 실제 서버에 업로드 된 파일시스템 네임

String fileRealName = multipartRequest.getFilesystemName("file");

// 디비에 업로드 메소드

new fileDAO().upload(fileName, fileRealName);

out.write("파일명 : " + fileName + "<br>");

out.write("실제파일명 : " + fileRealName + "<br>");

%>


// fileDAO.java : 이미지 파일 DB 처리


public class fileDAO {

private Connection conn;

// 생성자를 통해 db연결 해줌

public fileDAO() {

try {

String dbURL = "jdbc:mysql://localhost:3306/filetest";

String dbID = "root";

String dbPW = "wlgns930";

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(dbURL, dbID, dbPW);

} catch(Exception e) {

e.printStackTrace();

}

}

public int upload(String fileName, String fileRealName) {

String SQL = "INSERT INTO FILE VALUES (?, ?)";

try {

PreparedStatement pstmt = conn.prepareStatement(SQL);

pstmt.setString(1,  fileName);

pstmt.setString(2,  fileRealName);

return pstmt.executeUpdate();

} catch(Exception e) {

e.printStackTrace();

}

return -1;

}

}





uploadTest.war

cos.jar


cos.jar 는 WEB-INF -  lib에 추가시킬 것!



저작자표시 (새창열림)

'JSP 개발 참고' 카테고리의 다른 글

[JSP] - 파일 enctype="multipart/form-data" 사용 시 request.getParameter null 해결방법  (0) 2018.05.02
[JSP] - 네이버 스마트에디터 사용  (0) 2018.05.02
[JSP] - 세션 처리 및 로그아웃  (0) 2018.05.01
[JSP] - 회원가입 시 아이디 중복체크  (0) 2018.05.01
[JSP] - 회원가입 + 로그인 DB 처리  (0) 2018.04.30

댓글()
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
최근 등록 현황
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
달력
지난달
2026.2
다음달
일월화수목금토
1234567
891011121314
15161718192021
22232425262728
태그 구름
  • 소켓
  • nodejs express
  • 정보처리산업기사 15년 필기
  • 정규형
  • 정보처리산업기사 정리
  • 정보처리산업기사 필기
  • 정보처리산업기사 요약
  • 정보처리산업기사 필기 정리
  • 정보처리산업기사 15년
  • 정보처리산업기사 16년 필기
  • 정보처리기사 실기 정리
  • 자료구조
  • 이클립스 mysql 연동
  • 안드로이드 intent
  • HTML
  • jsp
  • 카카오 로그인
  • 정보처리산업기사 16년
  • 안드로이드 카카오 로그인 연동
  • 정보처리산업기사 총정리
  • 카카오 로그인 연동
  • 리눅스
  • 안드로이드 카카오 로그인
  • 소켓 프로그래밍
  • 정규화
  • 안드로이드
  • 데이터베이스
  • nodejs MySQL 연동하기(Connection Pool)
  • 커널 모듈 프로그래밍
  • 이클립스 디비 연동
카운터
전체 방문자
오늘
어제
Skin by M1REACT. Designed by M1STORY.TISTORY.COM. Valid XHTML 1.0 and CSS 3. Copyright ⓒ Riucc's Storage. All rights reserved.

티스토리툴바