개발 도중 CKEditor 4를 쓰고있었는데
이미지 업로드 부분에서 자꾸
ckeditor 잘못된 서버 응답
이라는 문구가 뜨며 업로드 컨트롤러 상에서 에러가 발생했습니다.
이는 버전 문제로 버전이 올라가면서 생긴 문제입니다.
즉 문제라기 보다는 버전이 업데이트 되었으니 해당 버전에 맞게 사용해야한다는 거죠.
즉 기존에서는 내보내줄 때 script 형태로 내보내주었습니다.
예를들어서
printWriter.println("<script type='text/javascript'>"
+ "window.parent.CKEDITOR.tools.callFunction("
+ callback+",'"+ fileUrl+"','이미지를 업로드하였습니다.')"
+"</script>");
위와 같은 형태였습니다. 하지만 버전이 업데이트 되면서
Json 형태로 리턴을 해야한다고 문서에 적혀있습니다.
따라서 Json 형태로 바꾸어주면
{\"filename\" : \""+fileName+"\", \"uploaded\" : 1, \"url\":\""+fileUrl+"\"}
위와 같은 형태로 filename: 파일명 uploaded:1(성공시) url:경로
이런 식으로 넣어주어야 합니다.
따라서
printWriter.println("{\"filename\" : \""+fileName+"\", \"uploaded\" : 1, \"url\":\""+fileUrl+"\"}");
위 처럼 적어주셔야 합니다. fileName과 fileUrl은 각자 변수지정해준 것을 사용해주시면 됩니다.
만약 Json 형태가 익숙치 않으시다면
JsonObject json = new JsonObject();
json.addProperty("uploaded", 1);
json.addProperty("fileName", fileName);
json.addProperty("url", fileUrl);
printWriter.println(json);
형태로 하셔도 무방합니다.
좋은 해결되셨길 바랍니다.
'웹 > Spring' 카테고리의 다른 글
Spring 이론(재) - 특징과 의존성 주입 (0) | 2019.07.17 |
---|---|
Spring 이론(재) - 간단히 spring project 생성 (0) | 2019.07.17 |
웹 시큐리티(Web Security)-5Day (0) | 2019.05.28 |
웹 시큐리티(Web Security)-4Day[CSRF] (0) | 2019.05.28 |
웹 시큐리티(Web Security)-3Day (0) | 2019.05.27 |