bbs2/insert.jsp > JSP

본문 바로가기

사이트 내 전체검색

뒤로가기 JSP

bbs2/insert.jsp

페이지 정보

작성자 관리자 작성일 23-03-16 14:34 조회 441 댓글 0

본문

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>


<%@ include file="/include/header.jsp" %>


<%@ page import="java.awt.Image"%>

<%@ page import="java.awt.Graphics2D" %>

<%@ page import="java.awt.image.renderable.ParameterBlock" %>

<%@ page import="java.awt.image.BufferedImage" %>


<%@ page import="javax.media.jai.JAI" %>

<%@ page import="javax.media.jai.RenderedOp" %>


<%@ page import="javax.imageio.ImageIO" %>

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


<%

request.setCharacterEncoding("utf-8"); //한글 깨짐 방지


//파일 저장 폴더 생성 경로(프로젝트 안에 upload 폴더 생성 및 지정 추천) 

//String uploadPath=request.getRealPath("/upload");

String uploadPath="C:\\jsp\\web01\\src\\main\\webapp\\upload"; //window 폴더 경로

int size=10*1024*1024; //파일 최대 사이즈 (10메가)


MultipartRequest multi=new MultipartRequest(request,uploadPath,size,"utf-8",new DefaultFileRenamePolicy());


String code=multi.getParameter("code");

String gongji=multi.getParameter("gongji");

String subject=multi.getParameter("subject");

String comment=multi.getParameter("comment");


//홑따옴표 처리

subject = subject.replaceAll("'", "''" );

comment = comment.replaceAll("'", "''" );


//오늘 날짜

java.util.Date today = new java.util.Date();

SimpleDateFormat cal = new SimpleDateFormat("yyyy-MM-dd");

String signdate = cal.format(today);


//첨부파일1

Enumeration files=multi.getFileNames();


String file1=(String)files.nextElement(); //첨부파일1 존재한다면

String file1_name=multi.getOriginalFileName(file1); //사용자가 올린 파일명

String file1_rename=multi.getFilesystemName(file1); //중복된 파일명을 새로운 파일명으로 변경


if(file1_name == null){ //첨부파일1 없다면

file1_name = ""; //null 값이 아닌 비어있는 값으로 대체

file1_rename = ""; //null 값이 아닌 비어있는 값으로 대체

}


String file1_thumb = ""; //썸네일 파일명


//// 썸네일 ////

if(!file1_rename.equals("")){ //첨부가 있다면

String oPath = uploadPath+"/"+file1_rename; // 원본 경로

File oFile = new File(oPath);

int index = oPath.lastIndexOf(".");

String ext = oPath.substring(index + 1); // 파일 확장자

file1_thumb = "thumb_" + oFile.getName(); //썸네일 파일명

String tPath = oFile.getParent() + File.separator + file1_thumb; // 썸네일 저장 경로 및 파일명

File tFile = new File(tPath);

double ratio = 2; // 이미지 축소 비율

try {

BufferedImage oImage = ImageIO.read(oFile); // 원본이미지

int tWidth = (int) (oImage.getWidth() / ratio); // 생성할 썸네일이미지의 너비

int tHeight = (int) (oImage.getHeight() / ratio); // 생성할 썸네일이미지의 높이

BufferedImage tImage = new BufferedImage(tWidth, tHeight, BufferedImage.TYPE_3BYTE_BGR); // 썸네일이미지

Graphics2D graphic = tImage.createGraphics();

Image image = oImage.getScaledInstance(tWidth, tHeight, Image.SCALE_SMOOTH);

graphic.drawImage(image, 0, 0, tWidth, tHeight, null);

graphic.dispose(); // 리소스를 모두 해제

ImageIO.write(tImage, ext, tFile); //썸네일 저장

} catch (IOException e) {

e.printStackTrace();

}

}


//디비 입력

String sql = "INSERT INTO "+code+" (id,name,subject,comment,signdate,ref,gongji,file1,file1_o,file1_s)";

sql = sql + " VALUES ('"+session_id+"','"+session_name+"','"+subject+"','"+comment+"','"+signdate+"',0,'"+gongji+"','"+file1_rename+"','"+file1_name+"','"+file1_thumb+"')";


Connection conn=DriverManager.getConnection(url, user, password);

Statement stmt=conn.createStatement();

stmt.executeUpdate(sql);


stmt.close();

conn.close();


response.sendRedirect("list.jsp?code="+code);

%>

추천0

댓글목록 0

등록된 댓글이 없습니다.


Copyright © dancePKT. All rights reserved.
PC 버전으로 보기