NEW Nmail PHP 3 업그레이드 할인
자세히 보기

Nmail .NET 서비스 종료 안내(EOS)

Nmail .NET 제품은 유상 유지보수를 포함한 모든 서비스가 종료되었습니다.

NFUpload JSP 버전 입니다.

아*미 2008.11.21 14:10 조회 9359

NFUpload 1.2를 사용중인 개발자입니다.

NFUpload JSP에서 사용할려고 작업하다 보니깐 적용이 가능하더군요

샘플파일을 올려드리오니 참고하시기 바랍니다.

※반드시 cos.jar 파일이 classpath에 등록이 되어 있어야 가능합니다.

1. 글쓰기 + 업로드 예제 파일 변경 부분 (3곳)

    가. var _NF_UploadUrl = "upload.jsp";로 변경

    나. files += fileName + "/" + realName + "@";로 변경

    다. <form name="FrmUpload" method="post" action="upload_ok.jsp">

로 변경

2. 테스트 환경 : Tomcat 5.0 / Solaris / IE 5.X, 6.X, 7.X

                        Window XP, VISTA, svr 2003

                        Flash Player 10.X

NFUpload JSP 버전 입니다.

upload.jsp

------------------------------------------------------------------------------------

<%@ page contentType="text/html;charset=euc-kr" %>

<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="com.oreilly.servlet.multipart.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest" %>
<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy" %>

<%
 // 저장할 디렉토리 (절대경로)
 String savePath = "/test/upload";
    String id  = "";
    String fileName  = "";
    String rename = "";
    int totalFSize = 0;
 
    // 업로드 제한 용량
 int sizeLimit = 2048000 * 1024 ;

    try {
       MultipartParser mp = new MultipartParser(request, sizeLimit);
    mp.setEncoding("utf-8");
       Part part;
       while ((part = mp.readNextPart()) != null) {
          

         String name = part.getName();
            if (part.isParam()) {
          // it's a parameter part
            ParamPart paramPart = (ParamPart) part;
            String value = paramPart.getStringValue();            
            if(name.equals("RenameFile")) rename = value;
         } else if (part.isFile()) {
            FilePart filePart = (FilePart) part;
      fileName = filePart.getFileName();
    
      if (fileName != null) {
     File dir = new File(savePath + "/" + rename);

              long size = filePart.writeTo(dir);
              totalFSize += (int)size;

            }
   
            out.flush();
            
         }//end if
       }//end of while
    }
    catch (IOException lEx) {
          System.out.println("FileSave.jsp Exception : " + lEx);
    }catch(Exception ex){
        System.out.println(ex);
    }
%>

<%@ page contentType="text/html;charset=euc-kr" %>

<%@ page import="java.io.*"%>

<%
?// 저장할 디렉토리 (절대경로)
?? ?String savePath = "/test/upload";
??? String id? = "";
??? String fileName? = "";
??? String rename = "";
??? int totalFSize = 0;
?
??? // 업로드 제한 용량
?? ?int sizeLimit = 2048000;

??? try {
????? ?MultipartParser mp = new MultipartParser(request, sizeLimit);
???????mp.setEncoding("utf-8");
?????? Part part;
????? ?while ((part = mp.readNextPart()) != null) {??????????

??????? ?String name = part.getName();
??????????? if (part.isParam()) {
????????????ParamPart paramPart = (ParamPart) part;
?????????? ?String value = paramPart.getStringValue();?????????? ?
?????????? ?if(name.equals("RenameFile")) rename = value;
???????? } else if (part.isFile()) {
????????? ??FilePart filePart = (FilePart) part;
??? ??fileName = filePart.getFileName();
????
??? ??if (fileName != null) {
???????? ?????File dir = new File(savePath + "/" + rename);

??????????? ??long size = filePart.writeTo(dir);
??????????? ??totalFSize += (int)size; //업로드 용량 체크??
????????????}??
????????????out.flush();????????????
?????????}//end if
????? ?}//end of while
??? }
??? catch (IOException lEx) {
????????? System.out.println("FileSave.jsp Exception : " + lEx);
??? }catch(Exception ex){
??????? System.out.println(ex);
??? }
%>

------------------------------------------------------------------------------------

upload_ok.jsp

------------------------------------------------------------------------------------

<%@ page contentType="text/html;charset=euc-kr" %>

<%!
/*
    NfUpload로 부터 넘어온 값을 변경하기 위함
*/
public String urlDecode ( String data )
{
    String result = "";
    try  {
        result = new String(data.getBytes("Cp1252"),"euc_kr");
    }
    catch(Exception e)
    {
        result = "";
    }
    return result;
}
%>

<%
String strSubject = "";
String strContent = "";
String strFiles = "";
String[] strFile = null;
int iCnt = 0;

strSubject  = urlDecode(request.getParameter("txtSubject"));
strContent  = urlDecode(request.getParameter("txtContent"));
strFiles    = urlDecode(request.getParameter("hidFileName"));

out.println("제목: " + strSubject + "<br>\r\n");
out.println("내용: " + strContent + "<br><br>\r\n");
out.println("strFiles : " + strFiles + "<br>");

if (strFiles != null)
{
    strFile = strFiles.split("@");
    iCnt = strFile.length;

    for (int i = 0; i < iCnt; i++)
    {
        String[] file = strFile[i].split("/");
        out.println("첨부파일 " + i + " : " + file[0]  + "<br>\r\n");
        out.println("실제파일 " + i + " : " + file[1] + "<br>\r\n<br>\r\n");
    }

}//end if
%>

<%@ page contentType="text/html;charset=euc-kr" %>

<%!
/*
??? NfUpload로 부터 넘어온 값을 변경하기 위함

*/
public String urlDecode ( String data )
{
??? String result = "";
??? try? {
??????? result = new String(data.getBytes("Cp1252"),"euc_kr");
??? }
??? catch(Exception e)
??? {
??????? result = "";
??? }
??? return result;
}
%>

<%
String strSubject = "";
String strContent = "";
String strFiles = "";
String[] strFile = null;
int iCnt = 0;

strSubject? = urlDecode(request.getParameter("txtSubject"));
strContent? = urlDecode(request.getParameter("txtContent"));
strFiles??? = urlDecode(request.getParameter("hidFileName"));

out.println("제목: " + strSubject + "
\r\n");
out.println("내용: " + strContent + "

\r\n");
out.println("strFiles : " + strFiles + "
");

if (strFiles != null)
{
??? strFile = strFiles.split("@");
??? iCnt = strFile.length;

??? for (int i = 0; i < iCnt; i++)
??? {
??????? String[] file = strFile[i].split("/");
??????? out.println("첨부파일 " + i + " : " + file[0]? + "
\r\n");
??????? out.println("실제파일 " + i + " : " + file[1] + "
\r\n
\r\n");
??? }

}//end if
%>

------------------------------------------------------------------------------------

댓글 0
이전 글 nfupload 관련 질문입니다 1 정*영 2008.11.24
다음 글 NFUpload 사용시 질문입니다 5 정*영 2008.11.21