질문/조언질답게시판

게시글 or 댓글 작성시 CK에디터와 함께 나오는 파일첨부 기능을 이용하면

file_upload.html 를 거쳐서 jquery.fileupload.js 를 호출하고

id="xefu-container-{$editor_sequence}" 엘리먼트의 파일 data 값을 받아가는거 같은데 맞나요??

 

기존의 input file 이 아닌 별도의 input file 에서 파일을 입력받고 내부적인 jquery 가공을 통하여 나온 blob을

첨부파일에 올리고 싶습니다.

 

수정해보고 싶은데... 코어는 건드리지 않고 싶습니다.

jquery.fileupload.js 에서 xefu-container-의 _onChange 이벤트를 감지해서 긁어가는것 같은데...

 

 

스택확인해보니 파일 업로드시 ajax를 이용하는것 같더라구요....

생각에는 내용,형태,에디터 시퀀스값 등을 같이 싣어서 보내는 방법이 있을것 같은데... 아무리 찾아도 답이 안나오네요 ㅠㅠㅠ

 

 

 

요지는 글쓰기 화면에서 별도의 file input 엘리먼트를 통해 파일을 JS로 내부 연산하고

결과물로 나온 blob 값을 첨부파일로 올려줄 방법이 있는지 궁금합니다.

 

일반적인 [사진 및 파일첨부] 눌러서 올렸을때랑 동일하게요...

 

 

 

항상 좋은 답변 해주시는 고수님들께 미리 감사합니다 (_ _)

  • profile
    https://xetown.com/index.php?mid=point_contents&document_srl=972684
    위 자료 코드 참고해 보세요.

    제 기억으로는 dataurl 으로 넘겨주면,
    서버에서 파일로 저장해서 첨부파일로 등록하는 방식으로 기억하고 있습니다.
  • profile profile
    저도 캔버스위에 이미지를 올리고 그위에 추가적인 데이터를 끼워넣어 이미지화 하는것이 목적인데 제가 필요한 기능이랑 거의 유사하네요!! 비슷한 서드파티를 찾아볼 생각을 못했네요 ㅎㅎ. 참고하겠습니다. 감사합니다
  • profile

    윗분 말씀대로 data URL을 생성하여 (사실상 blob을 base64 인코딩한 거죠...) 서버로 전송한 후, 서버단의 애드온이나 모듈에서 디코딩하여 FileController->insertFile()을 호출해 주는 방법이 가장 정확할 듯 합니다. 에디터 시퀀스 값은 옆에 있는 에디터에서 추출해서 함께 올려주고요. 새 글인 경우 글번호가 반환될 텐데 이걸 처리하는 부분도 필요합니다.

     

    회원이 마우스로 서명을 그리도록 하는 기능처럼, 원본 파일이 없어서 data URL이 생성될 수밖에 없는 경우에도 대개 이렇게 처리하는 것으로 알고 있습니다.

     

    jQuery File Upload의 작동 과정 중간에 어떻게어떻게 끼어든다면 시퀀스 번호 처리가 자동으로 되겠지만, 라이믹스에서 수시로 변경되는 부분이라 그다지 안정적일 것 같지는 않네요. 파일 업로드 관련된 부분은 브라우저에서도 보안상 막아놓은 기능이 많아서 마음대로 주무르기가 쉽지 않습니다.

  • profile profile
    말씀하신것 처럼 jQuery File Upload 라이브러리에 인젝션 하는 방법을 생각중이였는데.... 파일관련은 브라우저에서 접근이 쉽지 않더라구요...
    위에 자료 참고해서 연구해보겠습니다. 감사합니다!
  • profile
    가능하며 저는 별도로 제작한 모듈에서 처리했습니다.
  • profile profile
    Blob으로 올라가는것들은 사후 관리도 필요한 데이터들이라서 모듈로 만드는것도 괜찮아보이네요.
    참고하겠습니다