2014년 1월 8일 수요일

Struts + EJB 게시판 - 7 (Struts Module / common)[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]

Struts + EJB 게시판 - 7 (Struts Module / common)[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]


// EncodingFilter.java -----------------------------------------------
package controller.common;

import java.io.*;

import javax.servlet.*;

public class EncodingFilter implements Filter {

        public void destroy() {
                // TODO Auto-generated method stub

        }

        public void doFilter(ServletRequest req, ServletResponse res,
                        FilterChain chain) throws IOException, ServletException {
                req.setCharacterEncoding("euc-kr");
                chain.doFilter(req, res);
        }

        public void init(FilterConfig arg0) throws ServletException {
                // TODO Auto-generated method stub

        }

}
// EncodingFilter.java -----------------------------------------------

// PGUtil.java ------------------------------------------------------
package controller.common;

import java.io.*;
import java.util.*;

import javax.servlet.http.*;

import org.apache.struts.upload.*;

import board.dtos.*;

public class PGUtil {
       
        private static String boardPath = "c:\\upfiles\";
       
        public static Collection saveBoardFiles(Collection fileList)
        {
                ArrayList list = (ArrayList)fileList;
                ArrayList result = new ArrayList();
               
                for(int i=0; i<list.size(); i++)
                {
                        FormFile temp = (FormFile)list.get(i);
                        if(temp.getFileSize() != 0)
                        {
                                try
                                {
                                        String tempFileName = System.currentTimeMillis() + "_" + temp.getFileName();
                                        InputStream is = temp.getInputStream();
                                        FileOutputStream fos = new FileOutputStream(boardPath + tempFileName);
                                       
                                        int readBytes = -1;
                                        byte[] data = new byte[1024];
                                       
                                        while((readBytes = is.read(data, 0, 1024)) != -1)
                                        {
                                                fos.write(data, 0, readBytes);
                                        }
                                        fos.close();
                                       
                                        BoardFileDTO dto = new BoardFileDTO();
                                        dto.setContentType(temp.getContentType());
                                        dto.setFileName(temp.getFileName());
                                        dto.setTempFileName(tempFileName);
                                       
                                        result.add(dto);
                                }
                                catch(IOException e){ e.printStackTrace(); }                               
                        }
                }
               
                return result;
        }
       
        public static void downBoardFiles(BoardFileDTO fileDTO, HttpServletResponse response)
        {
                try
                {       
                        response.setContentType(fileDTO.getContentType());               
                        response.setHeader("Content-disposition","attachment; filename=" + fileDTO.getFileName());                       
                       
                        FileInputStream fis = new FileInputStream(boardPath + fileDTO.getTempFileName());
                        OutputStream os = response.getOutputStream();
                       
                        int readBytes = -1;
                        byte[] data = new byte[1024];
                       
                        while((readBytes = fis.read(data, 0, 1024)) != -1)
                        {
                                os.write(data, 0, readBytes);
                        }
                        os.flush();                       
                }
                catch(Exception e){ e.printStackTrace(); }
        }
       
        public static void deleteBoardFiles(BoardFileDTO fileDTO)
        {
                try
                {       
                        File file = new File(boardPath + fileDTO.getTempFileName());
                        if(file.exists())
                        {
                                file.delete();
                        }
                }
                catch(Exception e){ e.printStackTrace(); }
        }

}

// PGUtil.java ------------------------------------------------------
 
  • JAVA
  • ORACLE
  • iPhone/Android
  • .NET
  • 표준웹/HTML5
  • 채용/취업무료교육
  • 초보자(재학생)코스

  • 댓글 없음:

    댓글 쓰기