[CKEditor] JSP에서 사용하기 > 온라인강의

본문 바로가기
 
 
 
오늘 1,194
어제 1,674
최대 2,526
전체 3,400,761

최근 방문자

1706
1573
932
869
1674
1194
22 23 24 25 26 27
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

Editor | [CKEditor] JSP에서 사용하기

페이지 정보

작성일2016-03-03 14:51 조회4,601회 댓글0건

본문

1. upload.jsp 파일을 ckeditor 폴더에 업로드

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.util.Iterator"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="java.io.File, java.util.List, java.io.IOException"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>
<%@page import="org.apache.http.protocol.HttpContext"%>

<%@page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>upload</title>
</head>
<body>
<%
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);  //multipart로 전송되었는가 체크
    if (isMultipart) {
        // 설정단계
         File temporaryDir = new File("c:\\tmp\\");  //업로드된 파일의 임시 저장 폴더
         String realDir = config.getServletContext().getRealPath(request.getParameter("realDir"));  //실제 저장될 파일경로
         String sFunc = request.getParameter("CKEditorFuncNum");
         String realUrl = request.getParameter("realUrl");

         // 디스크 기반의 파일 아이템 팩토리 생성
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(1 * 1024 * 1024);  //최대 메모리 크기
        factory.setRepository(temporaryDir);  // 임시저장폴더 연결

        // 구현단계
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(10 * 1024 * 1024);  //최대 업로드 크기
        List<FileItem> items = upload.parseRequest(request); //이 부분에서 파일이 생성
        Iterator iter = items.iterator();
 
        while (iter.hasNext()) {
            FileItem fileItem = (FileItem) iter.next();
            if (fileItem.isFormField()) {  // File 컴포넌트가 아닌 일반 컴포넌트일 경우
                out.println(fileItem.getFieldName() + "=" + fileItem.getString("euc-kr") + "<br/>");
            }else{
                if (fileItem.getSize() > 0) {  //파일이 업로드 되었나 안되었나 체크
                    String fieldName = fileItem.getFieldName();
                    String fileName = fileItem.getName();
                    String contentType = fileItem.getContentType();
                    boolean isInMemory = fileItem.isInMemory();
                    long sizeInBytes = fileItem.getSize();
                    
                    /* 
                     out.println("[realDir] : "+ realDir +"<br/>");
                     out.println("[fieldName] : "+ fieldName +"<br/>");
                    out.println("[fileName] : "+ fileName +"<br/>");
                    out.println("[contentType] : "+ contentType +"<br/>");
                    out.println("[isInMemory] : "+ isInMemory +"<br/>");
                    out.println("[sizeInBytes] : "+ sizeInBytes +"<br/>");
                     */
                     
                     out.println("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(" + sFunc + ", '"+ realUrl + fileName + "', '완료');</script>");

                     try {
                         File uploadedFile = new File(realDir, fileName);
                         fileItem.write(uploadedFile);  //실제 디렉토리에 카피
                         fileItem.delete();   //temp폴더의 파일 제거
                     } catch(IOException ex) {
                         out.println("error : "+ ex +"<br/>");
                     }
                }
            }
        }
    } else {
//         out.println("인코딩 타입이 multipart/form-data 가 아님.");
    }
%>
</body>
</html>


2. commons-fileuplaod-1.2.1.jar  과   commons-httpclient-3.1.jar  파일을  라이브러리 안에 추가
파일은 http://blog.daum.net/_blog/BlogTypeView.do?blogid=0FLdZ&articleno=5 에서 다운로드 가능


3. 에디터에 upload 경로 추가
CKEDITOR.replace( 'editor1',{
    'filebrowserUploadUrl':'/ckeditor/upload.jsp?'
    +'realUrl=http://홈페이지/ckeditor/upload'
    +'&realDir=upload'
});


자료출처
http://blog.daum.net/_blog/BlogTypeView.do?blogid=0FLdZ&articleno=5 
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.


목록

Total 2,007건 1 페이지
온라인강의 목록
번호 제목
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기