본문 바로가기
카테고리 없음

서버 사이드 Export 저장 소스

by 커사맨 2024. 1. 22.

invoker.jsp 

<%@ page contentType="text/html; charset=euc-kr" %> 
<%@ page language="java" import="java.io.*, java.util.*, java.net.*" %>
<%@ page language="java" import="m2soft.ers.invoker.InvokerException" %>
<%@ page language="java" import="m2soft.ers.invoker.http.ReportingServerInvoker" %>

<%   

  ReportingServerInvoker invoker = new ReportingServerInvoker("http://localhost:8080/ReportingServer/service"); //ReportingServer url 변경

      invoker.setCharacterEncoding("euc-kr");    //인코딩 설정
      invoker.setReconnectionCount(5); //접속시도
      invoker.setConnectTimeout(180); //초를 의미함(생성 요청하고 response 3분동안 기다린다.)
      invoker.setReadTimeout(180);                               //Connection 연결 후 패킷전송이 없는 경우 3분동안 기다린다. 이 시간을 늘린다고 해서 생성된 스레드가 180초를 대기하는게 아니고 리턴이 빨리오면 스레드는 사라진다.
      
      invoker.addParameter("opcode", "500"); //500 : 파일 저장 기능 동작
      invoker.addParameter("mrd_path", "sample.mrd"); //MRD 경로
      invoker.addParameter("mrd_param", "/rfn [sample.txt]"); //파라미터
      invoker.addParameter("mrd_data", "");  //XML데이터의 CDATA를 처리할 때 사용한다. 주의점은 mrd_param도 반드시 같이 사용해야 한다.
      invoker.addParameter("export_type", "pdf"); //pdf 로 저장 (다른 export type도 가능. jpg, png, xls 등)
      invoker.addParameter("export_name", "test.pdf"); //파일명을 적용하고싶을 경우 사용

      invoker.addParameter('export_path','./bb'); 
      invoker.addParameter("protocol", "sync");

      
      try
      {
         String responseString = invoker.invoke();   
         System.out.println(responseString);

 if(responseString.startsWith("1")){

 out.println(responseString);
 }
 else {

 out.println(responseString);
 }

      }
      catch(InvokerException e)
      {
         e.printStackTrace();
  
  }

%>

 

invoker.html

 

<!DOCTYPE html>
<html style="margin: 0; height: 100%">
<head>
<meta charset="utf-8">
<title>Crownix ReportingServer Invoker</title>
<script src="../../js/invoker/crownix-invoker.min.js"></script>
<script>
window.onload = function(){
var invoker = new m2soft.crownix.ReportingServerInvoker('http://localhost:8080/ReportingServer/service');
invoker.addParameter('opcode', '500');
invoker.addParameter('mrd_path', 'sample.mrd');
invoker.addParameter('mrd_param', '/rfn [sample.txt]');
invoker.addParameter('export_type', 'pdf');
invoker.addParameter('export_path', './gg');
invoker.addParameter('export_name', 'sample_test.pdf');
invoker.addParameter('protocol', 'async');
//invoker.addParameter('delete_file', 'false');

invoker.invoke(function(response, xhr) {
document.getElementById('response').innerText = response;
});

};
</script>
</head>
<body style="margin: 0; height: 100%">
<div id="response" style="position:absolute; width:100%; height:100%;">
</div>
</body>
</html>