// 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 ------------------------------------------------------
댓글 없음:
댓글 쓰기