2014-06-24 4 views
2

이미지를 jackrabbit에 저장하고 HTML 페이지에 전달하는 방법은 무엇입니까? Ex.이미지를 jackrabbit에 저장하고 해당 이미지를 HTML 페이지로 전달하는 방법은 무엇입니까?

public class JackRabbitServiceImpl { 

     Repository repository = new TransientRepository(); 

     public JackRabbitServiceImpl() throws Exception{ 
      Session session = repository.login( 
        new SimpleCredentials("username", "password".toCharArray())); 
      try{ 
       InputStream stream = new BufferedInputStream(JackRabbitServiceImpl.class.getResourceAsStream("red_rose.jpg")); 
       Node folder = session.getRootNode(); 
       Node file = folder.addNode("redrose.jpg","nt:file"); 
       Node content = file.addNode("jcr:content","nt:resource"); 
       Binary binary = session.getValueFactory().createBinary(stream); 
       content.setProperty("jcr:data",binary); 
       content.setProperty("jcr:mimeType","image/gif"); 
       session.save(); 
      }finally{ 
       session.logout(); 
      } 
     } 

     public byte[] getContentRose() throws Exception{ 
      Session session = repository.login( 
        new SimpleCredentials("username", "password".toCharArray())); 
      Node folder = session.getRootNode(); 
      Node file=folder.getNode("redrose.jpg"); 
      Node content=file.getNode("jcr:content"); 
      String path = content.getPath(); 
      Binary bin = session.getNode(path).getProperty("jcr:data").getBinary(); 
      InputStream stream = bin.getStream(); 
      return IOUtils.toByteArray(stream); 
     } 

    } 

서블릿

: 사용자가 하나의 HTML 페이지에서 여러 이미지를 업로드 할 경우

답변

3

을 필요할 때 그는 방법 다음 HTML 페이지 또는 다른 페이지에있는 모든 이미지를 볼 수 있어야한다
public class TestJackRabbitCdn extends HttpServlet { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 4158924623219324725L; 
    JackRabbitServiceImpl service=null; 
    @Override 
    public void init(){ 
     try { 
      service=new JackRabbitServiceImpl(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, 
    ServletException { 
     response.setContentType("image/gif"); 
     try { 
      response.getOutputStream().write(service.getContentRose()); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     response.getOutputStream().flush(); 
    } 

} 
+0

ftl 템플릿에서 이러한 이미지를 참조하는 방법을 설명해 주시겠습니까? – mkorszun