본문 바로가기
개발

XE 에서 모듈개발시 단순한 파일업로드 기능 구현해보기

by 6미리 2015. 10. 1.

XE에서 모듈개발중 파일업로드 기능을 개발해야 할일이 있었습니다.


ajax나 jQuery로 화면내에서 바뀌도록 할수도 있습니다.

이런 부분이야 다른 많은 분들이 예제를 보여주고 XE자체에서도 기능구현이 되어있으니 개발하실 분들은 그걸 참고하시면 될것 같습니다.

저는 전통적인(?) 파일입력을 받고 submit을 하면 다음 페이지에서 처리하는 부분을 간단히 구현하였습니다.


html 파일에서 첨부파일을 입력받기 위해 아래와 같이 대부분 코드를 넣으실겁니다.






그리고 이 form을 받는 액션에서 아래와 같이 코딩만 하면 됩니다.



//module_srl번호를 넘겨주어야 하므로
$module_info = Context::get("module_info");
$module_srl = $module_info->module_srl;
//첨부파일에 대한 정보는 Context::get으로 name을 입력만 해주면 됩니다.
$upfile= Context::get("upfile");
//upload_target_srl을 입력해줍니다. 여기서는 테스트를 위해 고정값을 입력했습니다. 필요한 숫자를 구하시면 되겠죠.
$upload_target_srl = "248";

//XE에서는 file이란 module을 제공하고 있습니다.
$oFileController = getController('file');
$output = $oFileController->insertFile($upfile, $module_srl, $upload_target_srl);

debugPrint($output);


이렇게 해서 output을 찍어보면 


그림과 같이 첨부파일 업로드가 되어 있습니다. 


sid등은 XE에서 자동으로 만들어주므로 신경쓰실 필요없이 간단히 파일첨부가 완성됩니다.

좀더 고급지게(?) 만들고 싶으신분들은 jQuery등으로 만드시면 되고 결국 파일 컨트롤러의 insertFile 함수만 호출하면 되는것입니다.




댓글