| 제목 | ck에디터 이미지 업로드가 안돼요 ㅠ | ||
|---|---|---|---|
| 카테고리 | 기타 솔루션 | ||
| 글쓴이 | 으샤샤 | 작성시각 | 2018/04/13 18:48:29 | 
|  | |||
| 카페24 호스팅사용하고 CI로 웹 개발중인데요 CK에디터 넣고 있는데 이미지 등록이 안되네요...ㅜ 업로드 경로 가보면 이미지는 등록되어 있는데 '잘못된 서버 응답' alert창이 계속 뜨네요. 무슨 문제일 까요?? 
 환경: php: 7.0 CI: 3.0 CK: 4   | |||
| 첨부파일 | asdf.jpg (34.0 KB) | ||
| 다음글 | 반응형페이지에서 자동로그인 관련 문의 (2) | ||
| 이전글 | 안녕하세요 codeigniter에서 미리보기 질문드립니... (1) | ||
| 
                                빛그림
                                /
                                2018/04/13 19:16:20 /
                                추천
                                0
                             
                                이미지가 잘 업로드 되었음에도 그런다면 window.parent.ckeditor.tools.callfunction이 잘못된게 아닐까요
                             | 
| 
                                으샤샤
                                /
                                2018/04/13 20:04:53 /
                                추천
                                0
                             
                                콘트롤에서 이미지 업로드 하기전에 test용 alert를 띄웠는데 안뜨는거 봐서는 어떤 설정값이나...그런게 문제가 아닐까 해요...
                             | 
| 
                                변종원(웅파)
                                /
                                2018/04/16 10:34:42 /
                                추천
                                0
                             업로드 경로를 ck에디터에 정상적으로 전달하는지, 전달됐다면 저 메세지가 나오는 라인이 어딘지 순차적으로 체크해보세요. | 
| 
                                으샤샤
                                /
                                2018/04/16 11:23:38 /
                                추천
                                0
                             
                                저건 제가 만든 alert가 아니라 ckeditor에서 보내는거예요..ㅠ
                             | 
| 
                                변종원(웅파)
                                /
                                2018/04/16 13:06:26 /
                                추천
                                0
                             으샤샤/ 그럼 파일업로드 이후부터 ck에디터 저 메세지 나오기전까지를 보시면 되겠네요. 디버깅은 변수를 제거하는 작업입니다. 이러이러한 상황이므로 서버 문제는 아니다. 그 다음 변수로 다시 판단을 해서 하나씩 없애다보면 디버깅이 완료됩니다. 서버의 문제인지, 클라이언트의 문제인지, 판단하고 가능선상에서 제외시키면서 답을 찾아가시면 됩니다. | 
| 
                                으샤샤
                                /
                                2018/04/16 13:15:28 /
                                추천
                                0
                             변종원(웅파)/ 음...말씀하신 방법으로 테스트를 해보았습니다. 콘트롤러에서 해당 함수의 내용을 모두 주석처리 해도 저런 메세지가 뜨더라구요. 그래서 이건 소스문제가 아닌 설정값이나 외부적 문제라고 판단한거구요. 한 3일정도 검색해보고 적용해보고 도저히 안되네요...유사한 사례가 거의 안보이기도 하기요. ck쓰고싶은데 다른에디터를 써야하나 고민중에 있습니다ㅋ | 
| 
                                버섯지렁이
                                /
                                2018/04/19 15:12:07 /
                                추천
                                0
                             저도 같은 문제 있었는데요, 저의 경우에는 ckeditor 4.0.0에서 4.9.0으로 업데이트 하니 발생했었습니다. window.parent.ckeditor.tools.callfunction을 썼었는데 해당 코드 있는 곳 지우고 아래 형식처럼 넣으니까 되더라고요. 
{"filename" : "[파일이름]", "uploaded" : 1, "url":"[파일path]"}참고로 .NET 환경에서 진행했습니다. 
 | 
| 
                                으샤샤
                                /
                                2018/04/19 15:40:30 /
                                추천
                                0
                             버섯지렁이님 댓글정말 감사합니다~! 
 echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction({"filename" : "[파일이름]", "uploaded" : 1, "url":"[파일path]"})</script>"; 이런식으로 수정했다는 말씀이신지요? | 
| 
                                버섯지렁이
                                /
                                2018/04/19 16:18:19 /
                                추천
                                0
                             아뇨아뇨. 아예 script 부분을 지우고 {"filename": ~~ } 이 부분만 쓴 거에요. 저도 해결하려고 엄청 검색했는데 결국 못 찾고 상사분이 알려주신 대로 작성했더니 되더라고요..ㅋㅋ php 환경에서도 될지는 모르겠네요. 해결되시길 ㅠㅠㅠ | 
| 
                                으샤샤
                                /
                                2018/04/19 16:28:53 /
                                추천
                                0
                             아이고 방금 해봤는데 되네요... 정말 정말 감사 드려요 몇일을 고생했는데......이렇게 허무하게...역시 개발은 쫄깃하네요...ㅎㅎ 다시한번 정말 감사드립니다(꾸벅) 
 | 
| 
                                버섯지렁이
                                /
                                2018/04/19 16:35:45 /
                                추천
                                0
                             
                                앜ㅋㅋㅋ 다행이네요!!!! 저도 계속 삽질하던 중이었어서 후련하네요 ㅋㅋ
                             | 
| 
                                으샤샤
                                /
                                2018/04/19 17:31:22 /
                                추천
                                0
                             
                                감동스러운 저녁이네요 ㅎㅎㅎ 진짜 별것도 아닌데 안되는 느낌이라 정말 기분 안좋았거든요 ㅋㅋㅋ 자괴감들고...ㅋㅋ 정말 감사합니다!
                             | 
| 
                                nhy7840
                                /
                                2019/09/05 16:13:15 /
                                추천
                                0
                             @Controller public class ImageUploadController {    @ResponseBody    @RequestMapping(value="imageUpload", method=RequestMethod.POST)    public void imageUpload(HttpServletRequest request,           HttpServletResponse response,           @RequestParam MultipartFile upload)             throws Exception {       //http header 설정       response.setCharacterEncoding("utf-8");       response.setContentType("text/html;charset=utf-8");       //http body       //업로드한 파일 이름       String fileName=upload.getOriginalFilename();       //바이트 배열로 변환       byte[] bytes=upload.getBytes();       //이미지를 업로드할 디렉토리(배포 경로로 설정)       String uploadPath = request.getSession().getServletContext().getRealPath("/resources/img/upload");       System.out.println("uploadPath  "+ uploadPath);       OutputStream out=new FileOutputStream(new File(uploadPath+fileName));       //서버에 저장됨       out.write(bytes);       String callback= request.getParameter("CKEditorFuncNum");       System.out.println("callback : "  + callback);       PrintWriter printWriter = response.getWriter();       String fileUrl = request.getContextPath()+"/resources/img/upload/"+fileName; //      fileUrl = fileUrl.replace('\\', '/'); //      fileUrl = "/project/resources/img/제목 없음.png";       System.out.println("fileUrl: "+fileUrl);       System.out.println(out); //      printWriter.println("<script>window.parent.CKEDITOR.tools.callFunction("+callback+",'"+fileUrl+"','이미지가 업로드 되었습니다.')"+"</script>");       printWriter.println("<script>window.parent.CKEDITOR.tools.callFunction("+callback+",'"+fileUrl+"','이미지가 업로드 되었습니다.')"+"</script>");       System.out.println("<script>window.parent.CKEDITOR.tools.callFunction("+callback+",'"+fileUrl+"','이미지가 업로드 되었습니다.')"+"</script>");       //스트림 닫기       printWriter.flush();    } } 제 코드는 이건데 어떻게 바꿔야하는지 아시는 분 계신가요? |