|
* °Á¸¦ ½ÃÀÛÇϱâÀü¿¡.....
jspSmartUpload´Â ¸î°¡Áö ¹®Á¦Á¡ÀÌ ÁöÀûµÇ°í ÀÖ¾î ±Ã±ØÀûÀ¸·Î´Â »ç¿ëÇÏÁö ¸»°ÍÀ» ±ÇÀåÇϰí ÀÖ½À´Ï´Ù. µû¶ó¼ º»°Á¸¦ Âü°í¿© ±¸ÇöµÈ »çÀÌÆ®¿¡¼ ³ªÅ¸³ª´Â ¹®Á¦Á¡¿¡ ´ëÇØ¼ ÇÊÀڴ åÀÓÁöÁö ¾Ê½À´Ï´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀº ¾Æ·¡ÀÇ ÆäÀÌÁö¿¡¼ »ìÆì º¸½Ã±â ¹Ù¶ø´Ï´Ù.
http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=servlet&c=r_p&n=995622233
JSP¿¡¼ ÆÄÀÏ ¾÷·Îµå´Â ±¸ÇöÇÏ´Â ´ë´ÜÈ÷ ¾î·Á¿î ºÎºÐÁß¿¡ Çϳª ÀÔ´Ï´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î ÆÄÀÏ ¾÷·Îµå¿¡ °üÇÑ ÆÐŰÁö°¡ ¸¹ÀÌ ¹èÆ÷µÈ »óÅÂÀ̰í.. jspSmartUpload´Â ±×Áß¿¡¼ °¡Àå À¯¸íÇÑÆÐŰÁö°¡ ¾Æ´Ñ°¡.. ÇÕ´Ï´Ù. ¾î°µç ÀÌ·¯ÇÑ ÆÐŰÁö¸¦ ÀÌ¿ëÇÏ¸é ±×.. ¾î·Æ´ø ÆÄÀÏÀÇ ¾÷·Îµå°¡.. ¹«Áö ½±°Ô ±¸ÇöµË´Ï´Ù.
jspSmartUpload´Â ´ÙÀ½ÀÇ »çÀÌÆ®¿¡¼ ´Ù¿î ¹ÞÀ¸½Ç¼ö ÀÖÀ¸¸ç, ¶ÇÇÑ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀ» º¸½Ç¼ö ÀÖÀ» °Ì´Ï´Ù.
http://www.jspsmart.com
¶ÇÇÑ ÀúÀÇ È¨ÆäÀÌÁö(http://aboutjsp.com)ÀÇ ÀÚ·á½Ç¿¡µµ ¾÷·Îµå¸¦ ÇØ ³õ¾ÒÀ¸´Ï ÇÊ¿ä ÇϽŠºÐµéÀº °¡¼Å¼Å ´Ù¿î¹ÞÀ¸½Ã±â ¹Ù¶ø´Ï´Ù.
* jspSmartUpload ÆÐŰÁö ¼³Ä¡Çϱâ
ÀÚ~ »ç¿ëÀ» ÇÏ·Á¸é ¸ÕÀú ¼³Ä¡ºÎÅÍ ÇÏ¼Å¾ß °ÚÁö¿ä? ´Ù¿î ¹ÞÀ¸½Å ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®¸é ¿©·¯ ¿¹Á¦ÆÄÀÏÀÌ º¸À̰í WEB-INF ¶ó´Â µð·ºÅ丮°¡ º¸Àϰ̴ϴÙ. ±×¹Ø¿¡ classes °¡ ÀÖ±¸¿ä.. classes µð·ºÅ丮¹Ø¿¡ com À̶ó´Â µð·ºÅ丮°¡ º¸Àϰ̴ϴÙ. (jspSmartUpload/WEB-INF/classes/com/.......) "com" ¹ØÀ¸·Î Âß~Âß~ ³»·Á¿À¸é jspSmartUpload ¿¡¼ Áö¿øÇϴ Ŭ·¡½º µéÀ» È®ÀÎ ÇϽǼö ÀÖÀ» °Ì´Ï´Ù.
ÇØ´ç Ŭ·¡½º¸¦ »ç¿ëÇϱâ À§Çؼ´Â Ŭ·¡½º°¡ ÀÖ´Â µð·ºÅ丮°¡ CLASSPATH¿¡ ÀâÇô ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀûÀýÇÑ µð·ºÅ丮¿¡ ÀúÀåÀ»ÇϽðí CLASSPATH·Î Àâ¾Æ ÁÖ½Ã¸é ¼³Ä¡´Â ³¡ÀÌ ³ª°Ô µË´Ï´Ù. CLASSPATH ¿¡ ´ëÇØ¼ Àß ¸ð¸£½Ã´Â ºÐµéÀº jspSmartUploadÀÇ WEB-INF/classes ÀÌÇÏÀÇ µð·ºÅ丮¸¦ »ç¿ëÇÏ´Â À¥¾îÇø®ÄÉÀ̼ÇÀÇ ·çÆ®¾Æ·¡ WEB-INF/classes¿¡ º¹»ç ÇÕ´Ï´Ù. ȤÀº °°ÀÌ ¹èÆ÷µÈ jarÆÄÀÏÀ» WEB-INF/lib¿¡ º¹»çÇØµµ µË´Ï´Ù.
* ¾÷·Îµå¸¦ À§ÇÑ È¯°æ ±¸ÃàÇϱâ
ȯ°æ ±¸ÃàÀº º°·Î ¾î·Á¿ï°Ô ¾øÁÒ. ´Ü ÇѰ¡Áö¸¸ ÁÖÀÇ ÇÏ¸é µÇ´Â µ¥ ÆÄÀÏÀÌ ¾÷·ÎµåµÉ µð·ºÅ丮ÀÇ ÆÛ¹Ì¼Ç ¹®Á¦ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÆÄÀÏÀÌ ¾÷·Îµå°¡ µÇ±â À§Çؼ´Â other ¿¡ w ±ÇÇÑÀÌ ÁÖ¾îÁö¸é µÇ´Âµ¥, Áï upload¶ó´Â µð·ºÅ丮 ¾÷·Îµå¸¦ ÇÏ·Á°í ÇÑ´Ù¸é upload µð·ºÅ丮ÀÇ ±ÇÇÑÀ» 777 µîÀ¸·Î º¯°æÇÏ¿© ÁÖ¸é µÈ´Ù. ÀÌ¿¡´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº À¯´Ð½º(¸®´ª½º)¿¡¼ÀÇ ÆÛ¹Ì¼Ç ¼³Á¤¿¡´ëÇÑ °Á¸¦ Âü°íÇϱ⠹ٶø´Ï´Ù. ( http://kldp.org ¸¦ Âü°í ÇÏ¸é µÉµíÇÕ´Ï´Ù...)
À©µµ¿ì ȯ°æ¿¡¼´Â ÆÛ¹Ì¼Ç¿¡ ´ëÇØ ´Þ¸® ¼³Á¤ÇÏ½Ç ³»¿ëÀº ¾ø½À´Ï´Ù.
* ¾÷·Îµå¸¦ ÇÏÀÚ~!!
* jspSmartUpload ÀÇ API ¹®¼´Â ´Ù¿î¹ÞÀº ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®¸é °°ÀÌ Á¦°øµÇ¾î Àִµ¥, Á¦ ȨÆäÀÌÁö ¿¡ ¿Ã·ÁµÐ °ÍÀ» Âü°í Çϼŵµ µË´Ï´Ù.
http://aboutjsp.com/docs/jspsmartupload/index.html
´ÙÀ½¿¡¼ ¼³¸íÇÏ´Â ³»¿ë¿Ü¿¡ ¸¹Àº À¯¿ëÇÑ ¸Þ¼ÒµéÀÌ ¸¹ÀÌ ÀÖÀ¸´Ï ¹®¼¸¦ Âü°í Çϼż »ç¿ëÇϽñ⠹ٶø´Ï´Ù.
jspSmartUpload¸¦ »ç¿ëÇϱâ À§Çؼ´Â ¸ÕÀú À§¿¡¼ ¼³Ä¡ÇÑ ÆÐŰÁö "com.jspsmart.upload"¸¦ import ÇØ¾ß ÇÕ´Ï´Ù.
±×¸®°í ´ÙÀ½À¸·Î <jsp:useBean> ¾×¼Ç±¸¹®À¸·Î SmartUpload Ŭ·¡½ºÀÇ °´Ã¼¸¦ Á¤ÀÇ Çϰí JSP ½ºÅ©¸³Æ® º»¹®¿¡¼ °´Ã¼¸¦ ÃʱâÈ ÇÑµÚ initialize(pageContext) ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.
<%@ page contentType="text/html;charset=EUC-KR" %>
<%@ page language="java" import="com.jspsmart.upload.*" %>
<jsp:useBean id="smart" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
smart.initialize(pageContext);
%>
±× ´ÙÀ½À¸·Î upload() ¸Þ¼Òµå¸¦ »ç¿ëÇØ¼ ÆÄÀÏÀ» ¾÷·Îµå¸¦ Çϴµ¥, À̸޼ҵå´Â ´ÜÁö ÆÄÀÏÀ» ¾÷·Îµå Çϴ°ÍÀÌÁö ¾ÆÁ÷ ÀúÀåÀº ÀÌ·ç¾î ÁöÁö ¾ÊÀº °ÍÀÔ´Ï´Ù. Áï, ¸Þ¸ð¸® »ó¿¡¸¸ ¿Ã¶ó°¡ ÀÖ´Â »óŰ¡ µË´Ï´Ù. (jspSmartUpload ÀÇ ´ÜÁ¡ÀÌ ¹Ù·Î À̺κÐÀÔ´Ï´Ù.)
<% smart.upload(); %>
ÀÚ.. ¾÷·Îµå°¡ ÀÌ·ç¾î Á³À¸¸é ÀÌÁ¦ ÀúÀåÀ» ÇØ¾ß °ÚÁö¿ä.. À§¿¡ "¾÷·Îµå¸¦ À§ÇÑ È¯°æ ±¸ÃàÇϱâ"¿¡¼ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ ÀúÀåÀº ¾²±â ÆÛ¹Ì¼ÇÀÌ ÁÖ¾îÁ® ÀÖ¾î¾ßÇÕ´Ï´Ù. /upload ¶ó´Â µð·ºÅä°¡ ÀÌ·¸°Ô ¼³Á¤ÀÌ µÇ¾î ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ¼³¸í Çϵµ·Ï ÇϰڽÀ´Ï´Ù.
<% smart.save("/upload"); %>
ÀÚ.. À§¿Í °°ÀÌ ÇÏ¸é ¾÷·ÎµåµÈ ÆÄÀÏÀÌ /upload µð·ºÅ丮¿¡ ÀúÀåµÇ°Ô µË´Ï´Ù.
´ÙÀ½Àº ¾÷·Îµå ¿¹Á¦ÀÔ´Ï´Ù.
|
up.html
|
<html>
<head>
<title>ÆÄÀÏ ¾÷·Îµå ¿¹Á¦</title>
</head>
<body>
<form method="post" action="up.jsp" enctype="multipart/form-data">
<input type="file" name="file"> <BR>
<input type="submit" value="ÀúÀå">
</form>
</body>
</html>
|
À§¿¡ ±½°Ô Ç¥½ÃµÈ ºÎºÐÀÌ Æ¯È÷ Áß¿äÇѵ¥, ¹Ýµå½Ã method="post" À̾î¾ß Çϸç, enctypeÀº multipart/form-data À̾î¾ß ÇÕ´Ï´Ù.. Àú´Â Àú±â ½ºÆçÀ» Çϳª Ʋ·Á¼ ¹«Àð°Ô °í»ýÇß´ø ±â¾ïÀÌ ÀÖ½À´Ï´Ù.. ¤Ð.¤Ð
ÀÚ ±×·³.. ¿Ï¼ºµÈ up.jsp ÆÄÀÏÀÇ ³»¿ëÀ» º¸½Ã°Ú½À´Ï´Ù.
|
up.jsp
|
<%@ page contentType="text/html;charset=EUC-KR" %>
<%@ page language="java" import="com.jspsmart.upload.*" %>
<jsp:useBean id="smart" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
smart.initialize(pageContext);
smart.upload();
try{
smart.save("/upload");
} catch(Exception e){
out.print(e.toString());
}
%>
|
¾ÆÁÖ °£´ÜÇÏ°Ô ±¸ÇöµÈ ¿¹Á¦ ÀÔ´Ï´Ù. ÆÄÀÏ ¾÷·Îµå°¡ ³¡³ª¸é ´Ü¼øÈ÷ ºñ¾î ÀÖ´Â ÆäÀÌÁö°¡ Ãâ·ÂÀÌ µÉ°ÍÀÔ´Ï´Ù.
* Á»´õ È®ÀåµÈ ¾÷·Îµå
À§ÀÇ ¿¹Á¦¸¸ Ȱ¿ë ÇÏ¿©µµ °£´ÜÇÏ°Ô ¾÷·Îµå¸¦ ±¸ÇöÇÒ¼ö ÀÖÁö¸¸ jspSmartUpload ¿¡¼ Á»´õ ´Ù¾çÇÑ ±â´ÉÀ» À§Çؼ ¸î°¡Áö ¸Þ¼Òµåµé¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
jspSmartUpload ´Â ÃÑ 4°³ÀÇ Å¬·¡½º·Î ±¸¼ºµÇ¾î Àִµ¥ <jsp:useBean>À¸·Î µî·ÏÇÑ SmartUpload ±×¸®°í Files, File, Request °¡ ¹Ù·Î ±×°ÍµéÀÌÁÒ.
htmlÀÇ Æû¿¡¼ jsp·Î ³Ñ±æ¶§ ¿©·¯°³ÀÇ ÆÄÀÏÀ» º¸³¾¼ö Àִµ¥ ±×·¯ÇÑ ¿©·¯°³ÀÇ ÆÄÀϵéÀ» ¹À½À¸·Î °ü¸® ÇÒ¼ö ÀÖµµ·Ï Files Ŭ·¡½º°¡ Á¦°øµÇ¸ç, °¢°¢ÀÇ ÆÄÀÏÀ» ´Ù·ê¼ö ÀÖµµ·Ï File Ŭ·¡½º°¡ Á¦°øµË´Ï´Ù.
¿¹Á¦¸¦ Çϳª º¸¸ç ¼³¸íÇϵµ·Ï ÇϰڽÀ´Ï´Ù.
01: <%@ page contentType="text/html;charset=EUC-KR" %>
02: <%@ page language="java" import="com.jspsmart.upload.*" %>
03: <jsp:useBean id="smart" scope="page" class="com.jspsmart.upload.SmartUpload" />
04:
05: <%
06: smart.initialize(pageContext);
07: smart.upload();
08:
09: int count=smart.save("/upload");
10:
11: com.jspsmart.upload.File upfile=smart.getFiles().getFile(0);
12:
13: upfile.saveAs("/upload/"+"»õ·Î¿îÀ̸§");
14:
15: out.println(count+"°³ÀÇ ÆÄÀÏÀÌ ¾÷·Îµå µÇ¾ú½À´Ï´Ù.");
16:
17: out.println("¾÷·ÎµåµÈ ÆÄÀÏÀÇ À̸§Àº " + upfile.getFileName() + "ÀÔ´Ï´Ù.");
18:
19: out.println("¾÷·ÎµåµÈ ÆÄÀÏÀÇ »çÀÌÁî´Â "+ upfile.getSize() + "Byte ÀÔ´Ï´Ù.");
20:
21: %>
|
¿ì¼± 9 ¶óÀÎÀ» º¸¸é save() ¸Þ¼Òµå´Â ¾÷·ÎµåµÈ ÆÄÀÏÀ» °¹¼ö¸¦ ÀúÀåÇÕ´Ï´Ù. µû¶ó¼ 15 ¶óÀΰú °°ÀÌ Ãâ·ÂÀ» ÇÒ¼ö ÀÖ°Ô µË´Ï´Ù. ´ÙÀ½À¸·Î 11¶óÀÎÀ» º¸¸é File °´Ã¼¸¦ »ý¼ºÇÏ¿´°í, 13 ¶óÀο¡¼´Â ¾÷·ÎµåµÈ ÆÄÀÏÀ» "»õ·Î¿îÀ̸§" À̶ó´Â ÆÄÀÏ·Î ÀúÀåÇÕ´Ï´Ù. ¿©±â¿¡¼¿Í °°ÀÌ saveAs()¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¸é ¾÷·ÎµåµÈ ÆÄÀÏÀ» ¿øÇÏ´Â À̸§À¸·Î ¹Ù²Ù¾î¼ ¾÷·Îµå°¡ °¡´ÉÇØ Áý´Ï´Ù. ¶ÇÇÑ 17, 19 ¶óÀÎ ¿¡¼´Â °¢°¢ ÆÄÀÏÀÇ À̸§°ú, »çÀÌÁ ³ªÅ¸³»´Âµ¥, ÆÄÀÏÀÇ À̸§Àº ¾÷·Îµå½Ã ¹Þ¾Æ¿Â ¿ø·¡ÀÇ ÆÄÀÏ À̸§ÀÌ ¸®ÅÏ µË´Ï´Ù. »çÀÌÁîÀÇ °æ¿ì¿¡´Â Byte ´ÜÀ§·Î ¼ýÀÚ¸¸ÀÌ ¸®ÅÏ µË´Ï´Ù.
* Request °´Ã¼¿¡ ´ëÇÏ¿©...
ÇÊÀÚ°¡ óÀ½ À§¿¡¼ jspSmartUpload¿¡ Æ÷ÇԵǾî ÀÖ´Â °´Ã¼µé¿¡´ëÇØ¼ ¼³¸íÀ» ÇÏ¸é¼ Çϳª »©¸ÔÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ¹«¾úÀÌ³Ä ÇÏ¸é ¹Ù·Î.. "Request" À̾ú½À´Ï´Ù. (±â¾ïÇϽÃÁÒ? SmartUpload, Files, File, Request ÀÌ·¸°Ô ÀÖ¾ú´ø°Å..)
À§¿¡¼ ¾ð±ÞÇßµíÀÌ html¹®¼¿¡¼ jsp·Î 'ÆÄÀÏ'À» ³Ñ±æ¶§ enctype="mulipart/form-data" ¸¦ Ãß°¡ Çß¾ú½À´Ï´Ù. ±×·±µ¥ À̰æ¿ì µ¥ÀÌÅÍ´Â Á¦´ë·Î Àü¼ÛÀÌ ÀÌ·ç¾î ÁöÁö¸¸, ±×¿Ü¿¡ Æû¿¡ ´ëÇØ¼´Â "null" ·Î Ç¥½Ã°¡ µË´Ï´Ù. Áï, ´Ù¸¥ ÆûÀÇ µ¥ÀÌÅÍ(textµîÀÇ..)´Â ÀüÇô ¹Þ¾Æ ¿Ã¼ö¾ø¾ú´Ù´Â °ÍÀÌÁÒ.
ÀÌ·¯ÇÑ ÀÌÀ¯·Î jspSmartUpload¿¡¼´Â Request Ŭ·¡½º¸¦ Áö¿øÇØÁÝ´Ï´Ù. ±×·³ »ç¿ë¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æ º¼±î¿ä~ ¢Ü
01: <%@ page contentType="text/html;charset=EUC-KR" %>
02: <%@ page language="java" import="com.jspsmart.upload.*" %>
03: <jsp:useBean id="smart" scope="page" class="com.jspsmart.upload.SmartUpload" />
04:
05: <%
06: smart.initialize(pageContext);
07: smart.upload();
08:
09: int count=smart.save("/upload");
10:
11: com.jspsmart.upload.File upfile=smart.getFiles().getFile(0);
12:
13: upfile.saveAs("/upload/"+"»õ·Î¿îÀ̸§");
14:
15: out.println(count+"°³ÀÇ ÆÄÀÏÀÌ ¾÷·Îµå µÇ¾ú½À´Ï´Ù.");
16:
17: out.println("¾÷·ÎµåµÈ ÆÄÀÏÀÇ À̸§Àº " + upfile.getFileName() + "ÀÔ´Ï´Ù.");
18:
19: out.println("¾÷·ÎµåµÈ ÆÄÀÏÀÇ »çÀÌÁî´Â "+ upfile.getSize() + "Byte ÀÔ´Ï´Ù.");
20:
21: String name=smart.getRequest().getParameter("name");
22:
23: out.println("¾÷·ÎµåÇÑ »ç¶÷ À̸§ : " + name);
24:
25: %>
|
2°³ÀÇ ¶óÀÎÀÌ Ãß°¡ µÇ¾ú½À´Ï´Ù. 21¹ø¶óÀÎÀ» º¸¸é getRequest()¶ó´Â ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿´´Âµ¥, ÀÌ ¸Þ¼Òµå´Â Request °´Ã¼¸¦ ¸®ÅÏ ÇØ ÁÝ´Ï´Ù. ±×¸®°í Request°´Ã¼ÀÇ getParameter()¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿´´Âµ¥ À̰ÍÀº ÀϹÝÀûÀÎ request.getParameter() ¸Þ¼Òµå¿Í »ç¿ë¹ýÀÌ µ¿ÀÏÇÕ´Ï´Ù.
ÀÌ»óÀ¸·Î °Á¸¦ ¸¶Ä¨´Ï´Ù. À§ÀÇ ¿¹Á¦ ¿Ü¿¡µµ À¯¿ëÇÑ ¸Þ¼Òµå µéÀÌ ¸¹ÀÌ ÀÖ½À´Ï´Ù.. À§¿¡¼ ¾ð±ÞÇÑ API¹®¼¸¦ Âü°í ÇÏ½Ã¸é¼ º¸´Ù ¿Ïº®ÇÑ ÇÁ·Î±×·¥À» ±¸ÇöÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù ^-^ ¾Æ.. Á¦°øµÇ´Â ÆÐŰÁö¿¡ ÁÁÀº ¿¹Á¦µéµµ °°ÀÌ µé¾î ÀÖÀ¸´Ï Âü°í ÇÏ½Ã¸é ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó »ý°¢ µÇ´Â±º¿ä.. ±×·³.. Àü À̸¸ ¹°·¯ °©´Ï´Ù~~~ ÃÑ~ÃÑ~ÃÑ~
|