본문 바로가기
develop/jsp

CKEditor 사용 및 파일 업로드 적용

by hybr1d 2016. 3. 25.

1. CKEditor 다운


- DOWNLOAD URL

http://ckeditor.com/ 에서 다운로드


- 설치 위치

webapp 밑에 copy


- JSP 설정

<script src="${pageContext.request.contextPath}/js/ckeditor/ckeditor.js"></script>


<textarea name="contents" id="contents" rows="50" cols="10">

               

</textarea>

<script>

// Replace the <textarea id="editor1"> with a CKEditor

// instance, using default configuration.

CKEDITOR.replace( 'contents', {

filebrowserUploadUrl: '${pageContext.request.contextPath}/file/ckeditorImageUpload.do'

});

</script>


filebrowserUploadUrl 을 설정을 해주어야 사진 업로드 시 업로드 탭이 생겨 사진파일을 업로드 할 수 있다.

그렇지 않으면 CKFinder를 사용하여 적용 시켜주어야 한다.


- 사진 업로드 구현 Servlet

Controller

@RequestMapping(value="/file/ckeditorImageUpload.do", method=RequestMethod.POST)

public void ckeditorImageUpload(HttpServletRequest request, HttpServletResponse response, @RequestParam MultipartFile upload) throws     Exception {

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset-utf-8");

try {

fileService.ckeditorImageUpload(request, response, upload);

} catch (IOException e) {

e.printStackTrace();

}

}


Service Impl

@SuppressWarnings("resource")

public void ckeditorImageUpload(HttpServletRequest request, HttpServletResponse response, MultipartFile file) throws Exception {

OutputStream out = null;

PrintWriter printWriter = null;

String fileName = file.getOriginalFilename();

byte[] bytes = file.getBytes();

String uploadPath = FILE_URL + "\\" + fileName;

System.out.println(uploadPath);

out = new FileOutputStream(new File(uploadPath));

out.write(bytes);

String callback = request.getParameter("CKEditorFuncNum");

printWriter = response.getWriter();

String fileUrl = request.getContextPath()+SAVE_URL + "/" +fileName; //url 경로

printWriter.println("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("

               + callback

               + ",'"

               + fileUrl

               + "','이미지를 업로드 하였습니다.'"

               + ")</script>");

       printWriter.flush();

}


'develop > jsp' 카테고리의 다른 글

썸넴일 클릭 시 큰화면으로 보여주는 방법  (0) 2016.07.01
CSV 다운로드 기능  (0) 2014.11.05