ȨÆäÀÌÁöÁ¦ÀÛ±³½Ç
ȨÆäÀÌÁö Á¦ÀÛ±âÃÊ
±âº»Å±×
ÅÂ±×ÆÁ¸ðÀ½
ű×ÀÚ·á¹æ
Æ÷Åä¼¥°ÁÂ
À¥.°ü·Ã°ÁÂ
PHP°ÁÂ
PHPÆÁ
HTML.CSS
JAVASCRIPT
ASP
JSP
PHP½ÉÈ
C.C++
Ç÷¡½Ã.ActionScript
ÀÚÀ¯°Ô½ÃÆÇ
Áú¹®°Ô½ÃÆÇ
À¯¸Ó°Ô½ÃÆÇ
¿À¶ô½Ç
Tel. 042-353-2371
ÆòÀÏ ¿ÀÀü 9½Ã ~ ¿ÀÈÄ 7½Ã
±â¾÷ÀºÇà
010-8649-6758
¿¹±ÝÁÖ:Á¦ÁÖ»ç¶û(¼ÛÁø¾Æ)
JSP
Ȩ > ȨÆäÀÌÁöÁ¦ÀÛ±³½Ç > JSP
ÀÛ¼ºÀÚ
freeweb
ºñ¹Ð¹øÈ£
Ä«Å×°í¸®
JSP
JAVA
JSTL
JS
Tool
JDBC
Oracle
Ajax
Spring
JSF
Á¦¸ñ
<TABLE cellSpacing=1 cellPadding=15 width="90%" bgColor=#e7e7e7 border=0> <TBODY> <TR bgColor=#fafafa> <TD> <TABLE width="90%" align=center> <TBODY> <TR> <TD><FONT color=#a0522d><STRONG>* °Á¸¦ ½ÃÀÛÇϱâÀü¿¡.... </STRONG></FONT> <P>- ±âÁ¸ÀÇ jspSmartUpload¸¦ ´ëÃ¼ÇØ °¡°í ÀÖ´Â MultipartRequest¿¡ ´ëÇÑ °£´ÜÇÑ »ç¿ë¹ý¿¡ ´ëÇØ °ÀÇ ÇÕ´Ï´Ù.<BR>JSP¸¸À» »ç¿ëÇÏ´Â °ÁÂÀ̸ç Beans, ServletÀº ´Ù·çÁö ¾Ê½À´Ï´Ù. <P>- MultipartRequest´Â COS ÆÐŰÁö¿¡ Æ÷ÇԵǾî ÀÖ´Â ÆÄÀÏ ¾÷·Îµå ÄÄÆ÷³ÍÆ® ÀÔ´Ï´Ù. <P>- COS ¿¡¼´Â Çѱ۵î(non-Latin-1)ÀÇ ¾ð¾î¸¦ Áö¿øÇÏÁö ¾Ê¾Ò¾ú½À´Ï´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î À̾ƽº(ÀÌâ½Å)´Ô ²²¼ ¹èÆ÷ÇÑ COSI(COS International) ¸¦ ÁÖ·Î »ç¿ë ÇÏ¿´À¸³ª, À̾ƽº´ÔÀÇ ³ë·Â¿¡ ÈûÀÔ¾î 2002³â 5¿ù 9ÀÏ ÀÚ COS¿¡¼´Â ÇѱÛÀ» Æ÷ÇÔÇÑ non-Latin-1 °è¿ÀÇ ¾ð¾î¸¦ Áö¿øÇÏ°Ô µÇ¾ú½À´Ï´Ù. ±Ù 2³â°£ÀÇ ±¹Á¦È¸¦ À§ÇÑ ÅõÀïÀÌ ºñ·Î¼ °á½ÇÀ» ¸Î´Â ¼ø°£À̾ú½À´Ï´Ù.<BR>ÀÌ¿¡ µû¶ó º» °ÁÂÀÇ ³»¿ëµµ COS ¸ÂÃß¾î ¾à°£ÀÇ ¼öÁ¤À» Çß½À´Ï´Ù. <P>COS °ø½Ä »çÀÌÆ® : <A href="http://www.servlets.com/cos/index.html" target=_blank>http://www.servlets.com/cos/index.html</A> <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* MultipartRequest´Â.... </STRONG></FONT> <P>ÇÊÀÚ´Â ±âÁ¸¿¡ jspSmartUpload¸¦ ÁÖ·Î »ç¿ëÇÏ¿© ¾÷·Îµå¸¦ ±¸ÇöÇß¾ú´Ù. ÇÏÁö¸¸ jspSmartUpload´Â ·ÎÁ÷ÀÚü¿¡ »ó´çÇÑ ¹®Á¦Á¡(¾÷·ÎµåµÈ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ¿Ã¸®°í ÀÛ¾÷ÇÏ¿© ±×·ÎÀÎÇØ ÆÄ»ýµÇ´Â ¹®Á¦Á¡µé)ÀÌ ÀÖÀ½ÀÌ ¹àÇô Á³°í, ±×·ÎÀÎÇØ jspSmartUploadÀÇ »ç¿ëÀº ±Þ¼ÓÈ÷ ÁÙ¾î µé¾ú´Ù. <P>»ç½Ç jspSmartUpload¿¡¼´Â Æí¸®ÇÑ ¸¹Àº ¸Þ¼Òµå¸¦ Áö¿øÇØÁÖ°í ÀÖ¾î MultipartRequest¸¦ »ç¿ëÇÏ´Â°Í º¸´Ù ÈξÀ ½±°Ô ¿øÇÏ´Â ±â´ÉÀ» ±¸Çö ÇÒ¼ö ÀÖ´Â °ÍÀÌ »ç½ÇÀÌ´Ù. ÇÏÁö¸¸ jspSmartUpload´Â ¹®Á¦Á¡ÀÌ ¹ß°ß µÇ¾úÀ¸¹Ç·Î °¡´ÉÇÑ»ç¿ëÀ» ÀÚÁ¦ÇÏ´Â °ÍÀÌ ÁÁ°Ú´Ù. <P>MultipartRequest´Â ¾ÆÁÖ °£´ÜÇÑ ¸Þ¼Òµå¸¦ ¸î°³ Áö¿øÇÑ´Ù. ÇÏÁö¸¸ ÀÌ ¸Þ¼Òµåµé ¸¸À¸·Îµµ ¿Ø¸¸ÇÑ ±â´ÉÀº ÀüºÎ ±¸ÇöÀÌ °¡´ÉÇÏ´Ï ½Ç¸ÁÇÏÁö ¸»ÀÚ. getFile() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇϸé java.io.File °´Ã¼¸¦ ¾ò¾î ³¾¼ö ÀÖÀ¸´Ï À̸¦ ÀÌ¿ëÇÏ¸é µÉ°ÍÀÌ´Ù. <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* ¼³Ä¡Çϱâ </STRONG></FONT> <P>MultipartRequest´Â oreilly¿¡¼ ¹èÆ÷Çϸç, <A href="http://www.servlets.com/cos/index.html" target=_blank>http://www.servlets.com/cos/index.html</A>¿¡¼ ´Ù¿î·Îµå ¹Þ¾Æµµ µÇ°í, ÇÊÀÚÀÇ È¨ÆäÀÌÁö(<A href="http://aboutjsp.com/" target=_blank>http://aboutjsp.com</A>)ÀÇ ÀÚ·á½Ç¿¡µµ ¾÷·Îµå¸¦ ÇØ³õ¾ÒÀ¸´Ï ´Ù¿î¹Þ¾Æ »ç¿ëÇØ º¸±â ¹Ù¶õ´Ù. <P>¼³Ä¡ ÇÏ´Â ¹æ¹ýÀº ´Ù¿î·Îµå ¹Þ¾Æ¼ ¾ÐÃàÀ» ǬµÚ, classes µð·ºÅ丮 ¾Æ·¡¸¦ ÅèĹÀÇ classes µð·ºÅ丮¿¡ Åë°·Î º¹»çÇÑ´Ù. (¿¹.ROOT/WEB-INF/classes) ȤÀº cos.jar¸¦ lib¿¡ º¹»çÇØµµ µÈ´Ù. <P>COS ÆÐŰÁö±â¿¡´Â MultipartRequest ¸»°íµµ À¯¿ëÇÑ ¸¹Àº Ŭ·¡½ºµéÀÌ ¸¹ÀÌ Á¸ÀçÇϹǷÎ, <A href="http://aboutjsp.com/docs/cos/" target=_blank>¿©±â</A>ÀÇ API¹®¼¸¦ Âü°íÇÏ¿© »ç¿ëÇϱ⠹ٶõ´Ù <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* ¾÷·Îµå ±¸Çö </STRONG></FONT> <P>°£´ÜÇÑ ¿¹Á¦¸¦ ÅëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇÏÀÚ. <P><!-- Source Start --> <TABLE cellSpacing=1 cellPadding=5 width="100%" bgColor=#e7e7e7> <TBODY> <TR> <TD bgColor=#f6f6f6><FONT face=verdana color=#708090><STRONG>wirte.htm </STRONG></FONT></TD></TR> <TR> <TD class=src bgColor=#fffef4><XMP><html> <body> <form action="up.jsp" enctype="multipart/form-data" method="post"> À̸§ : <input type="text" name="userName"> <BR> ÆÄÀÏ : <input type="file" name="upfile"> <input type="submit" value="Upload"> </form> </body> </html> </XMP></TD></TR></TBODY></TABLE><!-- Source End --> <P><!-- Source Start --> <TABLE cellSpacing=1 cellPadding=5 width="100%" bgColor=#e7e7e7> <TBODY> <TR> <TD bgColor=#f6f6f6><FONT face=verdana color=#708090><STRONG>up.jsp </STRONG></FONT></TD></TR> <TR> <TD class=src bgColor=#fffef4><PRE><%@ page contentType="text/html;charset=UTF-8" %><%@ page import="com.oreilly.servlet.MultipartRequest, com.oreilly.servlet.multipart.DefaultFileRenamePolicy, java.util.*" %><% String savePath="/usr/local/tomcat/webapps/ROOT/test/upload"; // ÀúÀåÇÒ µð·ºÅ丮 (Àý´ë°æ·Î) int sizeLimit = 5 * 1024 * 1024 ; // 5¸Þ°¡±îÁö Á¦ÇÑ ³Ñ¾î¼¸é ¿¹¿Ü¹ß»ý try{ MultipartRequest multi=new MultipartRequest(request, savePath, sizeLimit, new DefaultFileRenamePolicy()); Enumeration formNames=multi.getFileNames(); // ÆûÀÇ À̸§ ¹Ýȯ String formName=(String)formNames.nextElement(); // ÀÚ·á°¡ ¸¹À» °æ¿ì¿£ while ¹®À» »ç¿ë String fileName=multi.getFilesystemName(formName); // ÆÄÀÏÀÇ À̸§ ¾ò±â if(fileName == null) { // ÆÄÀÏÀÌ ¾÷·Îµå µÇÁö ¾Ê¾ÒÀ»¶§ out.print("ÆÄÀÏ ¾÷·Îµå µÇÁö ¾Ê¾ÒÀ½"); } else { // ÆÄÀÏÀÌ ¾÷·Îµå µÇ¾úÀ»¶§ fileName=new String(fileName.getBytes("8859_1"),"UTF-8"); // ÇѱÛÀÎÄÚµù - ºê¶ó¿ìÁ®¿¡ Ãâ·Â out.print("User Name : " + multi.getParameter("userName") + "<BR>"); out.print("Form Name : " + formName + "<BR>"); out.print("File Name : " + fileName); } // end if } catch(Exception e) { out.print("¿¹¿Ü »óȲ ¹ß»ý..! "); } %> </PRE></TD></TR></TBODY></TABLE><!-- Source End --> <P>À§ÀÇ ¿¹Á¦ ¼Ò½º¸¦ º¸¸é ´ëºÎºÐÀÌ ÀÌÇØ°¡ Àß °¥°ÍÀ̶ó »ý°¢µÇÁö¸¸.. Çϳª¾¿ »ìÆì º¸µµ·Ï ÇϰڴÙ. ¿ì¼± write.htm ¿¡¼´Â Æû¿¡¼ method="post" Çü½ÄÀ¸·Î ÇØ¾ß Çϸç ecntype="multipart/form-data" ¸¦ ²À ºÙ¿© ÁÖ¾î¾ß ÇÑ´Ù. <P>´ÙÀ½À¸·Î up.jsp¸¦ Çϳª Çϳª »ìÆì º¸ÀÚ. MultipartRequest Ŭ·¡½º¸¦ import Çϰí, java.util.* ´ÂEnumeration °´Ã¼¸¦ »ç¿ëÇϱâ À§Çؼ import ÇÑ´Ù.. <P>savePath ´Â ÀúÀåµÉ ½ÇÁ¦ µð·ºÅ丮(½Ã½ºÅÛ»óÀÇ Àý´ë °æ·Î)¸¦ ÀûÀ¸¸é µÈ´Ù. sizeLimit ¿¡¼´Â Á¦ÇÑ ¿ë·®À» ¼ÂÆÃÇϴµ¥, À§¿Í°°Àº¹æ¹ýÀ¸·Î ¸Þ°¡¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. <P>±× ´ÙÀ½ÁÙ¿¡¼´Â MultipartRequest °´Ã¼°¡ »ý¼ºµÊ°ú µ¿½Ã¿¡ ¾÷·Îµå°¡ ÀÌ·ç¾îÁ® ÁöÁ¤ÇÑ µð·ºÅ丮¿¡ ÀúÀåµÈ´Ù. À̶§ MultipartRequestÀÇ ¿©·¯ »ý¼ºÀÚµéÁß Çϳª¸¦ ÀÌ¿ëÇÏ¸é µÇ´Âµ¥, ±âÁ¸¿¡´Â »õ¼ºÀÚ·Î ÇÑ±Û "UTF-8"À» Áá¾î¾ß Çߴµ¥, ¾î¾ÀÏÀÎÁö ÀÌÁ¦´Â ÁÖÁö ¾Ê¾Æ¾Æ ÇÑ±Û À̸§ÀÇ ÆÄÀÏÀÌ Àß ÀúÀåµÇ´À´Â °ÍÀ» º¼¼ö ÀÖ´Ù. ¶ÇÇÑ °¡Àå ¿À¸¥ÂÊÀÇ 'new DefaultFileRenamePolicy' ´Â ´Â ÆÄÀÏ À̸§ Áߺ¹Ã³¸®¿¡ °üÇÑ °ÍÀ¸·Î ³ÖÀ»¼öµµ ÀÖ°í, »¬¼öµµ ÀÖ´Ù. ÇÊ¿äÇÏÁö ¾Ê´Ù°í »ý°¢µÈ´Ù¸é »©¹ö¸®µµ·Ï ÇÏÀÚ. <P>±×¾Æ·¡¿¡ if ¹®À» º¸¸é, ÆÄÀÏÀÌ ¾÷·Îµå µÇ¾úÀ»¶§¿Í ¾÷·Îµå µÇÁö ¾Ê¾ÒÀ»¶§ÀÇ Ã³¸®¸¦ ³ª´©¾î¼ ÇÒ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. <P>if ¹® À§ÀÇ 3¶óÀÎÀº ÆÄÀÏÀÇ À̸§À» ¾ò±âÀ§ÇÑ ·ÎÁ÷À¸·Î Enumeration °´Ã¼·Î ¹ÞÀº ÆûÀÇ À̸§À» ÀÌ¿ëÇϰí ÀÖ´Ù. ¸¸¾à ÆûÀÌ ¿©·¯°³°¡ ÀÖÀ» °æ¿ì¿£ ÀûÀýÇÑ ÀÚ·áÇüÀ» ÀÌ¿ëÇÏ¿© ÆûÀÇ À̸§À» ÅëÇØ¼ ÆÄÀÏÀÇ À̸§µéÀ» ¾ò¾î ³¾¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸¸¾à ÆÄÀÏ ¾÷·Îµå¸¦ Beans·Î ±¸ÇöÇÒ °æ¿ì¿£ ¹Ýµå½Ã ÀÌ·¯ÇÑ ·ÎÁ÷À»(Enumeration °´Ã¼¸¦ ÀÌ¿ëÇÑ loop±¸¹®)»ç¿ëÇØ¾ß ÇÒ °ÍÀÌ´Ù. <P>»ç½Ç À§ÀÇ ¿¹Á¦¿¡¼´Â ±»ÀÌ Enumerration °´Ã¼¸¦ °¡Áö°í ±¸ÇöÇÒ ÇÊ¿ä´Â ¾øÁö¸¸, ÇØ´ç ¸Þ¼ÒµåÀÇ »ç¿ë¹ýÀ» º¸¿©ÁÖ±â À§Çؼ »ç¿ëÇÏ¿´´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ» »ç¿ëÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â if À§¿¡ 3¶óÀÎÀ» »èÁ¦ÇÏ°í ¾Æ·¡ÀÇ ³»¿ëÀ» Ãß°¡ Çϸé´Ù. <P><B>String fileName=multi.getFilesystemName("upfile");</B> <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* FileRenamePolicy ¿¡ °üÇØ¼... </STRONG></FONT> <P>À̹ø ¹öÁ¯ÀÇ MultipartRequest ¿¡¼ ºÎÅÍ´Â ÆÄÀÏ Áߺ¹Ã³¸® ÀÎÅÍÆäÀ̽º°¡ Ãß°¡ µÇ¾ú°í, À§ÀÇ ¿¹Á¦ ¼Ò½º´Â ±×·¯ÇÑ ³»¿ëÀÌ ¹Ý¿µµÇ¾îÀÖ´Ù. DefaultFileRenamePolicy´Â FileRenamePolicy Interface ¸¦ ±¸ÇöÇÑ °ÍÀ¸·Î, Áߺ¹µÈ ÆÄÀÏ À̸§µÚ¿¡ ¼ýÀÚ¸¦ ºÙ¿© ÁÖ°í ÀÖ´Ù. ( abcd.zip , abcd1.zip, abcd2.zip, abcd3.zip ....... ) <P>DefaultFileRenamePolicy Class¸¦ ¹ÙÅÁÀ¸·Î »õ·Î¿î RenamePolicy class ¸¦ ¸¸µé¸é ÀÚ½ÅÀÌ ¿øÇÏ´Â FileRenamePolicy ¸¦ Àû¿ëÇÒ¼ö ÀÖ´Ù. <P>¶ÇÇÑ getFilesystemName()¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© º¯°æµÈ ÆÄÀÏ À̸§À» ¾òÀ»¼ö ÀÖ°í, getOriginalFileName()¸Þ¼Òµå´Â º¯°æµÇ±â ÀÌÀüÀÇ ÆÄÀÏÀ̸§À» ³Ñ°ÜÁØ´Ù. <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* multi.getParameter() </STRONG></FONT> <P>write.htm ¿¡¼ ¼Á¤ÇÑ¹Ù¿Í °°ÀÌ enctype="multipart/form-data" ·Î ÁöÁ¤Çϸé, request.getParameter()·Î´Â ¾Æ¹«·¯ °ªµµ ¹Þ¾Æ ¿Ã¼ö°¡ ¾ø°ÔµÈ´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î ´ëºÎºÐÀÇ ÆÄÀϾ÷·Îµå ÄÄÆ÷³ÍÆ®¿¡¼´Â getParameter() ¸Þ¼Òµå¸¦ Áö¿øÇϴµ¥, MultipartRequest¿¡¼µµ ÀÌ·¯ÇÑ ¸Þ¼Òµå¸¦ Áö¿øÇÑ´Ù. Áö¿øÇÏ´Â ¸Þ¼Òµå´Â ¾Æ·¡¿Í °°À¸¸ç, »ç¿ë¹ýÀº request.getParameter() µî°ú µ¿ÀÏÇÏ´Ù. <P>String getParameter(String name) <BR>Enumeration getParameterNames() <BR>String[] getParameterValues(String name) <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* Çѱ۰ü·Ã ¹®Á¦ 󸮹ý </STRONG></FONT> <P>MultipartRequest multi=new MultipartRequest(request, savePath, sizeLimit, new DefaultFileRenamePolicy()); <P>À§¸¦ ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÑ´Ù. <P>MultipartRequest multi=new MultipartRequest(request, savePath, sizeLimit, <B>"UTF-8"</B>, new DefaultFileRenamePolicy()); <P>"UTF-8" ºÎºÐ¿£ "ksc5601", "ms949" µî ÀÚ½ÅÀÇ È¯°æ¿¡ ¾Ë¸Â´Â ij¸¯ÅͼÂÀ» ³Ö¾î ÁÖ¸é µÈ´Ù. <P> <P>°¢ ¸Þ¼Òµåµé¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »ç¿ë¹ýÀº ¾Æ·¡ÀÇ API¹®¼¸¦ Âü°í Çϱ⠹ٶõ´Ù. <P><A href="http://aboutjsp.com/docs/cos/" target=_blank>http://aboutjsp.com/docs/cos/</A> <P><BR><!-- Chapter End --></P></TD></TR></TBODY></TABLE><BR></TD></TR> <TR bgColor=#f8f8f8> <TD><FONT color=#a0522d><STRONG>* °ü·Ã»çÀÌÆ®</STRONG></FONT><BR><A href="http://www.servlets.com/cos/" target=_blank>http://www.servlets.com/cos/</A><BR> COS °ø½Ä »çÀÌÆ® </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=1 cellPadding=15 width="90%" bgColor=#e7e7e7 border=0> <TBODY> <TR bgColor=#fafafa> <TD> <TABLE width="90%" align=center> <TBODY> <TR> <TD><FONT color=#a0522d><STRONG>* °Á¸¦ ½ÃÀÛÇϱâÀü¿¡.... </STRONG></FONT> <P>- ±âÁ¸ÀÇ jspSmartUpload¸¦ ´ëÃ¼ÇØ °¡°í ÀÖ´Â MultipartRequest¿¡ ´ëÇÑ °£´ÜÇÑ »ç¿ë¹ý¿¡ ´ëÇØ °ÀÇ ÇÕ´Ï´Ù.<BR>JSP¸¸À» »ç¿ëÇÏ´Â °ÁÂÀ̸ç Beans, ServletÀº ´Ù·çÁö ¾Ê½À´Ï´Ù. <P>- MultipartRequest´Â COS ÆÐŰÁö¿¡ Æ÷ÇԵǾî ÀÖ´Â ÆÄÀÏ ¾÷·Îµå ÄÄÆ÷³ÍÆ® ÀÔ´Ï´Ù. <P>- COS ¿¡¼´Â Çѱ۵î(non-Latin-1)ÀÇ ¾ð¾î¸¦ Áö¿øÇÏÁö ¾Ê¾Ò¾ú½À´Ï´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î À̾ƽº(ÀÌâ½Å)´Ô ²²¼ ¹èÆ÷ÇÑ COSI(COS International) ¸¦ ÁÖ·Î »ç¿ë ÇÏ¿´À¸³ª, À̾ƽº´ÔÀÇ ³ë·Â¿¡ ÈûÀÔ¾î 2002³â 5¿ù 9ÀÏ ÀÚ COS¿¡¼´Â ÇѱÛÀ» Æ÷ÇÔÇÑ non-Latin-1 °è¿ÀÇ ¾ð¾î¸¦ Áö¿øÇÏ°Ô µÇ¾ú½À´Ï´Ù. ±Ù 2³â°£ÀÇ ±¹Á¦È¸¦ À§ÇÑ ÅõÀïÀÌ ºñ·Î¼ °á½ÇÀ» ¸Î´Â ¼ø°£À̾ú½À´Ï´Ù.<BR>ÀÌ¿¡ µû¶ó º» °ÁÂÀÇ ³»¿ëµµ COS ¸ÂÃß¾î ¾à°£ÀÇ ¼öÁ¤À» Çß½À´Ï´Ù. <P>COS °ø½Ä »çÀÌÆ® : <A href="http://www.servlets.com/cos/index.html" target=_blank>http://www.servlets.com/cos/index.html</A> <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* MultipartRequest´Â.... </STRONG></FONT> <P>ÇÊÀÚ´Â ±âÁ¸¿¡ jspSmartUpload¸¦ ÁÖ·Î »ç¿ëÇÏ¿© ¾÷·Îµå¸¦ ±¸ÇöÇß¾ú´Ù. ÇÏÁö¸¸ jspSmartUpload´Â ·ÎÁ÷ÀÚü¿¡ »ó´çÇÑ ¹®Á¦Á¡(¾÷·ÎµåµÈ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ¿Ã¸®°í ÀÛ¾÷ÇÏ¿© ±×·ÎÀÎÇØ ÆÄ»ýµÇ´Â ¹®Á¦Á¡µé)ÀÌ ÀÖÀ½ÀÌ ¹àÇô Á³°í, ±×·ÎÀÎÇØ jspSmartUploadÀÇ »ç¿ëÀº ±Þ¼ÓÈ÷ ÁÙ¾î µé¾ú´Ù. <P>»ç½Ç jspSmartUpload¿¡¼´Â Æí¸®ÇÑ ¸¹Àº ¸Þ¼Òµå¸¦ Áö¿øÇØÁÖ°í ÀÖ¾î MultipartRequest¸¦ »ç¿ëÇÏ´Â°Í º¸´Ù ÈξÀ ½±°Ô ¿øÇÏ´Â ±â´ÉÀ» ±¸Çö ÇÒ¼ö ÀÖ´Â °ÍÀÌ »ç½ÇÀÌ´Ù. ÇÏÁö¸¸ jspSmartUpload´Â ¹®Á¦Á¡ÀÌ ¹ß°ß µÇ¾úÀ¸¹Ç·Î °¡´ÉÇÑ»ç¿ëÀ» ÀÚÁ¦ÇÏ´Â °ÍÀÌ ÁÁ°Ú´Ù. <P>MultipartRequest´Â ¾ÆÁÖ °£´ÜÇÑ ¸Þ¼Òµå¸¦ ¸î°³ Áö¿øÇÑ´Ù. ÇÏÁö¸¸ ÀÌ ¸Þ¼Òµåµé ¸¸À¸·Îµµ ¿Ø¸¸ÇÑ ±â´ÉÀº ÀüºÎ ±¸ÇöÀÌ °¡´ÉÇÏ´Ï ½Ç¸ÁÇÏÁö ¸»ÀÚ. getFile() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇϸé java.io.File °´Ã¼¸¦ ¾ò¾î ³¾¼ö ÀÖÀ¸´Ï À̸¦ ÀÌ¿ëÇÏ¸é µÉ°ÍÀÌ´Ù. <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* ¼³Ä¡Çϱâ </STRONG></FONT> <P>MultipartRequest´Â oreilly¿¡¼ ¹èÆ÷Çϸç, <A href="http://www.servlets.com/cos/index.html" target=_blank>http://www.servlets.com/cos/index.html</A>¿¡¼ ´Ù¿î·Îµå ¹Þ¾Æµµ µÇ°í, ÇÊÀÚÀÇ È¨ÆäÀÌÁö(<A href="http://aboutjsp.com/" target=_blank>http://aboutjsp.com</A>)ÀÇ ÀÚ·á½Ç¿¡µµ ¾÷·Îµå¸¦ ÇØ³õ¾ÒÀ¸´Ï ´Ù¿î¹Þ¾Æ »ç¿ëÇØ º¸±â ¹Ù¶õ´Ù. <P>¼³Ä¡ ÇÏ´Â ¹æ¹ýÀº ´Ù¿î·Îµå ¹Þ¾Æ¼ ¾ÐÃàÀ» ǬµÚ, classes µð·ºÅ丮 ¾Æ·¡¸¦ ÅèĹÀÇ classes µð·ºÅ丮¿¡ Åë°·Î º¹»çÇÑ´Ù. (¿¹.ROOT/WEB-INF/classes) ȤÀº cos.jar¸¦ lib¿¡ º¹»çÇØµµ µÈ´Ù. <P>COS ÆÐŰÁö±â¿¡´Â MultipartRequest ¸»°íµµ À¯¿ëÇÑ ¸¹Àº Ŭ·¡½ºµéÀÌ ¸¹ÀÌ Á¸ÀçÇϹǷÎ, <A href="http://aboutjsp.com/docs/cos/" target=_blank>¿©±â</A>ÀÇ API¹®¼¸¦ Âü°íÇÏ¿© »ç¿ëÇϱ⠹ٶõ´Ù <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* ¾÷·Îµå ±¸Çö </STRONG></FONT> <P>°£´ÜÇÑ ¿¹Á¦¸¦ ÅëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇÏÀÚ. <P><!-- Source Start --> <TABLE cellSpacing=1 cellPadding=5 width="100%" bgColor=#e7e7e7> <TBODY> <TR> <TD bgColor=#f6f6f6><FONT face=verdana color=#708090><STRONG>wirte.htm </STRONG></FONT></TD></TR> <TR> <TD class=src bgColor=#fffef4><XMP><html> <body> <form action="up.jsp" enctype="multipart/form-data" method="post"> À̸§ : <input type="text" name="userName"> <BR> ÆÄÀÏ : <input type="file" name="upfile"> <input type="submit" value="Upload"> </form> </body> </html> </XMP></TD></TR></TBODY></TABLE><!-- Source End --> <P><!-- Source Start --> <TABLE cellSpacing=1 cellPadding=5 width="100%" bgColor=#e7e7e7> <TBODY> <TR> <TD bgColor=#f6f6f6><FONT face=verdana color=#708090><STRONG>up.jsp </STRONG></FONT></TD></TR> <TR> <TD class=src bgColor=#fffef4><PRE><%@ page contentType="text/html;charset=UTF-8" %><%@ page import="com.oreilly.servlet.MultipartRequest, com.oreilly.servlet.multipart.DefaultFileRenamePolicy, java.util.*" %><% String savePath="/usr/local/tomcat/webapps/ROOT/test/upload"; // ÀúÀåÇÒ µð·ºÅ丮 (Àý´ë°æ·Î) int sizeLimit = 5 * 1024 * 1024 ; // 5¸Þ°¡±îÁö Á¦ÇÑ ³Ñ¾î¼¸é ¿¹¿Ü¹ß»ý try{ MultipartRequest multi=new MultipartRequest(request, savePath, sizeLimit, new DefaultFileRenamePolicy()); Enumeration formNames=multi.getFileNames(); // ÆûÀÇ À̸§ ¹Ýȯ String formName=(String)formNames.nextElement(); // ÀÚ·á°¡ ¸¹À» °æ¿ì¿£ while ¹®À» »ç¿ë String fileName=multi.getFilesystemName(formName); // ÆÄÀÏÀÇ À̸§ ¾ò±â if(fileName == null) { // ÆÄÀÏÀÌ ¾÷·Îµå µÇÁö ¾Ê¾ÒÀ»¶§ out.print("ÆÄÀÏ ¾÷·Îµå µÇÁö ¾Ê¾ÒÀ½"); } else { // ÆÄÀÏÀÌ ¾÷·Îµå µÇ¾úÀ»¶§ fileName=new String(fileName.getBytes("8859_1"),"UTF-8"); // ÇѱÛÀÎÄÚµù - ºê¶ó¿ìÁ®¿¡ Ãâ·Â out.print("User Name : " + multi.getParameter("userName") + "<BR>"); out.print("Form Name : " + formName + "<BR>"); out.print("File Name : " + fileName); } // end if } catch(Exception e) { out.print("¿¹¿Ü »óȲ ¹ß»ý..! "); } %> </PRE></TD></TR></TBODY></TABLE><!-- Source End --> <P>À§ÀÇ ¿¹Á¦ ¼Ò½º¸¦ º¸¸é ´ëºÎºÐÀÌ ÀÌÇØ°¡ Àß °¥°ÍÀ̶ó »ý°¢µÇÁö¸¸.. Çϳª¾¿ »ìÆì º¸µµ·Ï ÇϰڴÙ. ¿ì¼± write.htm ¿¡¼´Â Æû¿¡¼ method="post" Çü½ÄÀ¸·Î ÇØ¾ß Çϸç ecntype="multipart/form-data" ¸¦ ²À ºÙ¿© ÁÖ¾î¾ß ÇÑ´Ù. <P>´ÙÀ½À¸·Î up.jsp¸¦ Çϳª Çϳª »ìÆì º¸ÀÚ. MultipartRequest Ŭ·¡½º¸¦ import Çϰí, java.util.* ´ÂEnumeration °´Ã¼¸¦ »ç¿ëÇϱâ À§Çؼ import ÇÑ´Ù.. <P>savePath ´Â ÀúÀåµÉ ½ÇÁ¦ µð·ºÅ丮(½Ã½ºÅÛ»óÀÇ Àý´ë °æ·Î)¸¦ ÀûÀ¸¸é µÈ´Ù. sizeLimit ¿¡¼´Â Á¦ÇÑ ¿ë·®À» ¼ÂÆÃÇϴµ¥, À§¿Í°°Àº¹æ¹ýÀ¸·Î ¸Þ°¡¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. <P>±× ´ÙÀ½ÁÙ¿¡¼´Â MultipartRequest °´Ã¼°¡ »ý¼ºµÊ°ú µ¿½Ã¿¡ ¾÷·Îµå°¡ ÀÌ·ç¾îÁ® ÁöÁ¤ÇÑ µð·ºÅ丮¿¡ ÀúÀåµÈ´Ù. À̶§ MultipartRequestÀÇ ¿©·¯ »ý¼ºÀÚµéÁß Çϳª¸¦ ÀÌ¿ëÇÏ¸é µÇ´Âµ¥, ±âÁ¸¿¡´Â »õ¼ºÀÚ·Î ÇÑ±Û "UTF-8"À» Áá¾î¾ß Çߴµ¥, ¾î¾ÀÏÀÎÁö ÀÌÁ¦´Â ÁÖÁö ¾Ê¾Æ¾Æ ÇÑ±Û À̸§ÀÇ ÆÄÀÏÀÌ Àß ÀúÀåµÇ´À´Â °ÍÀ» º¼¼ö ÀÖ´Ù. ¶ÇÇÑ °¡Àå ¿À¸¥ÂÊÀÇ 'new DefaultFileRenamePolicy' ´Â ´Â ÆÄÀÏ À̸§ Áߺ¹Ã³¸®¿¡ °üÇÑ °ÍÀ¸·Î ³ÖÀ»¼öµµ ÀÖ°í, »¬¼öµµ ÀÖ´Ù. ÇÊ¿äÇÏÁö ¾Ê´Ù°í »ý°¢µÈ´Ù¸é »©¹ö¸®µµ·Ï ÇÏÀÚ. <P>±×¾Æ·¡¿¡ if ¹®À» º¸¸é, ÆÄÀÏÀÌ ¾÷·Îµå µÇ¾úÀ»¶§¿Í ¾÷·Îµå µÇÁö ¾Ê¾ÒÀ»¶§ÀÇ Ã³¸®¸¦ ³ª´©¾î¼ ÇÒ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. <P>if ¹® À§ÀÇ 3¶óÀÎÀº ÆÄÀÏÀÇ À̸§À» ¾ò±âÀ§ÇÑ ·ÎÁ÷À¸·Î Enumeration °´Ã¼·Î ¹ÞÀº ÆûÀÇ À̸§À» ÀÌ¿ëÇϰí ÀÖ´Ù. ¸¸¾à ÆûÀÌ ¿©·¯°³°¡ ÀÖÀ» °æ¿ì¿£ ÀûÀýÇÑ ÀÚ·áÇüÀ» ÀÌ¿ëÇÏ¿© ÆûÀÇ À̸§À» ÅëÇØ¼ ÆÄÀÏÀÇ À̸§µéÀ» ¾ò¾î ³¾¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸¸¾à ÆÄÀÏ ¾÷·Îµå¸¦ Beans·Î ±¸ÇöÇÒ °æ¿ì¿£ ¹Ýµå½Ã ÀÌ·¯ÇÑ ·ÎÁ÷À»(Enumeration °´Ã¼¸¦ ÀÌ¿ëÇÑ loop±¸¹®)»ç¿ëÇØ¾ß ÇÒ °ÍÀÌ´Ù. <P>»ç½Ç À§ÀÇ ¿¹Á¦¿¡¼´Â ±»ÀÌ Enumerration °´Ã¼¸¦ °¡Áö°í ±¸ÇöÇÒ ÇÊ¿ä´Â ¾øÁö¸¸, ÇØ´ç ¸Þ¼ÒµåÀÇ »ç¿ë¹ýÀ» º¸¿©ÁÖ±â À§Çؼ »ç¿ëÇÏ¿´´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ» »ç¿ëÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â if À§¿¡ 3¶óÀÎÀ» »èÁ¦ÇÏ°í ¾Æ·¡ÀÇ ³»¿ëÀ» Ãß°¡ Çϸé´Ù. <P><B>String fileName=multi.getFilesystemName("upfile");</B> <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* FileRenamePolicy ¿¡ °üÇØ¼... </STRONG></FONT> <P>À̹ø ¹öÁ¯ÀÇ MultipartRequest ¿¡¼ ºÎÅÍ´Â ÆÄÀÏ Áߺ¹Ã³¸® ÀÎÅÍÆäÀ̽º°¡ Ãß°¡ µÇ¾ú°í, À§ÀÇ ¿¹Á¦ ¼Ò½º´Â ±×·¯ÇÑ ³»¿ëÀÌ ¹Ý¿µµÇ¾îÀÖ´Ù. DefaultFileRenamePolicy´Â FileRenamePolicy Interface ¸¦ ±¸ÇöÇÑ °ÍÀ¸·Î, Áߺ¹µÈ ÆÄÀÏ À̸§µÚ¿¡ ¼ýÀÚ¸¦ ºÙ¿© ÁÖ°í ÀÖ´Ù. ( abcd.zip , abcd1.zip, abcd2.zip, abcd3.zip ....... ) <P>DefaultFileRenamePolicy Class¸¦ ¹ÙÅÁÀ¸·Î »õ·Î¿î RenamePolicy class ¸¦ ¸¸µé¸é ÀÚ½ÅÀÌ ¿øÇÏ´Â FileRenamePolicy ¸¦ Àû¿ëÇÒ¼ö ÀÖ´Ù. <P>¶ÇÇÑ getFilesystemName()¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© º¯°æµÈ ÆÄÀÏ À̸§À» ¾òÀ»¼ö ÀÖ°í, getOriginalFileName()¸Þ¼Òµå´Â º¯°æµÇ±â ÀÌÀüÀÇ ÆÄÀÏÀ̸§À» ³Ñ°ÜÁØ´Ù. <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* multi.getParameter() </STRONG></FONT> <P>write.htm ¿¡¼ ¼Á¤ÇÑ¹Ù¿Í °°ÀÌ enctype="multipart/form-data" ·Î ÁöÁ¤Çϸé, request.getParameter()·Î´Â ¾Æ¹«·¯ °ªµµ ¹Þ¾Æ ¿Ã¼ö°¡ ¾ø°ÔµÈ´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î ´ëºÎºÐÀÇ ÆÄÀϾ÷·Îµå ÄÄÆ÷³ÍÆ®¿¡¼´Â getParameter() ¸Þ¼Òµå¸¦ Áö¿øÇϴµ¥, MultipartRequest¿¡¼µµ ÀÌ·¯ÇÑ ¸Þ¼Òµå¸¦ Áö¿øÇÑ´Ù. Áö¿øÇÏ´Â ¸Þ¼Òµå´Â ¾Æ·¡¿Í °°À¸¸ç, »ç¿ë¹ýÀº request.getParameter() µî°ú µ¿ÀÏÇÏ´Ù. <P>String getParameter(String name) <BR>Enumeration getParameterNames() <BR>String[] getParameterValues(String name) <P><BR><!-- Chapter End --><!-- Chapter Start --><FONT color=#a0522d><STRONG>* Çѱ۰ü·Ã ¹®Á¦ 󸮹ý </STRONG></FONT> <P>MultipartRequest multi=new MultipartRequest(request, savePath, sizeLimit, new DefaultFileRenamePolicy()); <P>À§¸¦ ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÑ´Ù. <P>MultipartRequest multi=new MultipartRequest(request, savePath, sizeLimit, <B>"UTF-8"</B>, new DefaultFileRenamePolicy()); <P>"UTF-8" ºÎºÐ¿£ "ksc5601", "ms949" µî ÀÚ½ÅÀÇ È¯°æ¿¡ ¾Ë¸Â´Â ij¸¯ÅͼÂÀ» ³Ö¾î ÁÖ¸é µÈ´Ù. <P> <P>°¢ ¸Þ¼Òµåµé¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »ç¿ë¹ýÀº ¾Æ·¡ÀÇ API¹®¼¸¦ Âü°í Çϱ⠹ٶõ´Ù. <P><A href="http://aboutjsp.com/docs/cos/" target=_blank>http://aboutjsp.com/docs/cos/</A> <P><BR><!-- Chapter End --></P></TD></TR></TBODY></TABLE><BR></TD></TR> <TR bgColor=#f8f8f8> <TD><FONT color=#a0522d><STRONG>* °ü·Ã»çÀÌÆ®</STRONG></FONT><BR><A href="http://www.servlets.com/cos/" target=_blank>http://www.servlets.com/cos/</A><BR> COS °ø½Ä »çÀÌÆ® </TD></TR></TBODY></TABLE>
÷ºÎÆÄÀÏ
ºñ¹Ð±Û
ºñ¹Ð±Û
°ßÀû°è»êÇϱâ
ÀÛ¾÷ÀÇ·Ú
°ßÀû¹®ÀÇ
°øÁö»çÇ×