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

본문 바로가기
 
 
 
오늘 441
어제 994
최대 2,526
전체 3,254,479

최근 방문자

2217
1939
1826
1673
994
441
21 22 23 24 25 26
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

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

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

페이지 정보

작성일2016-03-03 14:51 조회4,053회 댓글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 1,943건 1 페이지
온라인강의 목록
번호 제목
1943
1942
1941
1940
JSP utf-8 한글깨짐 (write.2017-03-20)  Hit.88
1939
1938
1937
1936
1935
그누보드 [G5] 게시물 순서 바꾸기 (write.2017-03-16)  Hit.135
1934
전자결제 [PayPal] PHP 결제연동 (write.2017-03-15)  Hit.135
1933
전자결제 [PayPal] ASP 결제 연동 (write.2017-03-15)  Hit.127
1932
1931
1930
JSP Service Temporary Unavailable! (write.2017-03-13)  Hit.149
1929
그누보드 [G5] [최신글] 한줄소식 (write.2016-02-19)인기글첨부파일  Hit.1666
1928
1927
1926
1925
1924
일반 FireFox 플러그인 (write.2015-02-28)인기글  Hit.2032
1923
1922
1921
1920
1919
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호: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
 
모바일 버전으로 보기