728x90

넥사크로 파일업로드 구현시 Controller 에서 넥사크로에서 전송하는 데이터셋을 받지 못하는 현상이 발생되어

해결방안을 공유하고자 글을 남긴다.

 

현재 만들어진 업로드 공통모듈에서 서버로 전송되는 패킷은 아래와 같이 확인되었습니다.

request 패킷을 보고 일단 XML 포멧에 쓰레기 코드가 들어있어서 안되는거구나 했는데.. 

 

혹시 Controller 서버단에서 Request 를 뒤져보니 parameterMap 에 데이터가 있는걸 보고 아래와 같이 코딩하여 해결함.

 

아래 소스 참고하시고 전체 소스는 첨부 공유할께요.

        MultipartHttpServletRequest multipartRequest     = (MultipartHttpServletRequest) request;

        //--------------------------------------------------------------------------
        // DataSet 받아오기
        //--------------------------------------------------------------------------
        PlatformData nexacroData = new PlatformData();
        
        String inputDatasets = null;
        
        Map<String, String[]> m = multipartRequest.getParameterMap();
        Iterator<String> i = m.keySet().iterator();
        while(i.hasNext()) {
            String k   = i.next();
            String[] v = m.get(k);
            
            if( "inputDatasets".equals(k) ) {
                inputDatasets = v[0];
            }
        }
        
        nexacroData.loadXml(inputDatasets);
        
        com.nexacro.java.xapi.data.DataSetList inputDataSet = nexacroData.getDataSetList();
        com.nexacro.java.xapi.data.DataSet dsUpload = inputDataSet.get("dsUpload");        
        
        logger.info("### dsUpload DataSet : " + dsUpload.saveXml());
        //--------------------------------------------------------------------------

 

[첨부파일]

StorageController.java
0.01MB

 

 

728x90
반응형

+ Recent posts