[Âü°í] °ü·Ã Æ÷½ºÆ®
[jQuery Plugin] jQuery Multiple File Upload Plugin - ¸ÖƼ ÆÄÀÏ ¾÷·Îµå (jQuery MultiFile v2.0.3)
[jsp/servlet] commons-fileupload ¸¦ ÀÌ¿ëÇÑ ÆÄÀϾ÷·Îµå (¼ºí¸´)
[jQuery Plugin/ajax] jQuery Form Plugin ÀÌ¿ëÇÑ ajax ÆÄÀÏ ¾÷·Îµå [¼¹ö»çÀ̵å: Servlet (commons-fileupload API)]
[Ajax] FormData¸¦ »ç¿ëÇÏ¿© form Á¤º¸ Àü¼ÛÇϱâ
jQuery Multiple File Upload Plugin Site :
jQuery MultiFile v2.0.3 : http://www.fyneworks.com/jquery/multifile/
jQuery Multiple File Upload Plugin v1.48 : http://www.fyneworks.com/jquery/multiple-file-upload/
¼¹ö»çÀ̵å ÀÛ¾÷Àº ¿©±â¼ »ý·«Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
±âÁ¸ Æ÷½ºÆ® ¹× ÷ºÎµÈ ÇÁ·ÎÁ§Æ® ¼Ò½º¸¦ Âü°íÇϼ¼¿ä!
[jsp/servlet] jQuery Form Plugin ÀÌ¿ëÇÑ ajax ÆÄÀÏ ¾÷·Îµå (´Ù¿î·Îµå ó¸® Ãß°¡) [¼¹ö»çÀ̵å: Servlet (commons-fileupload API)]
[ÄÚµå] multifileExam01.html |
Colored By Color Scripter¢â 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery-ajax-form-submit/</title> <!-- jQuery import --> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <!-- jQuery Form Plugin import --> <script src="js/jquery.form.min.js"></script> <!-- jQuery MultiFile Plugin import --> <script src="js/jQuery.MultiFile.min.js"></script>
<script> $(document).ready(function(){ //use jQuery MultiFile Plugin $('#multiform input[name=photo]').MultiFile({ max: 3, //¾÷·Îµå ÃÖ´ë ÆÄÀÏ °¹¼ö (ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¹«ÇÑ´ë) accept: 'jpg|png|gif', //Çã¿ëÇÒ È®ÀåÀÚ(ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç È®ÀåÀÚ Çã¿ë) maxfile: 1024, //°¢ ÆÄÀÏ ÃÖ´ë ¾÷·Îµå Å©±â maxsize: 3024, //Àüü ÆÄÀÏ ÃÖ´ë ¾÷·Îµå Å©±â STRING: { //Multi-lingual support : ¸Þ½ÃÁö ¼öÁ¤ °¡´É remove : "Á¦°Å", //Ãß°¡ÇÑ ÆÄÀÏ Á¦°Å ¹®±¸, À̹Ìű׸¦ »ç¿ëÇϸé À̹ÌÁö»ç¿ë°¡´É duplicate : "$file Àº ÀÌ¹Ì ¼±ÅÃµÈ ÆÄÀÏÀÔ´Ï´Ù.", denied : "$ext ´Â(Àº) ¾÷·Îµå ÇÒ¼ö ¾ø´Â ÆÄÀÏÈ®ÀåÀÚÀÔ´Ï´Ù.", selected:'$file À» ¼±ÅÃÇß½À´Ï´Ù.', toomuch: "¾÷·ÎµåÇÒ ¼ö ÀÖ´Â ÃÖ´ëÅ©±â¸¦ ÃÊ°úÇÏ¿´½À´Ï´Ù.($size)", toomany: "¾÷·ÎµåÇÒ ¼ö ÀÖ´Â ÃÖ´ë °¹¼ö´Â $max°³ ÀÔ´Ï´Ù.", toobig: "$file Àº Å©±â°¡ ¸Å¿ì Å®´Ï´Ù. (max $size)" }, list:"#afile3-list" //ÆÄÀϸñ·ÏÀ» Ãâ·ÂÇÒ ¿ä¼Ò ÁöÁ¤°¡´É }); }); </script> </head> <body>
<h3>jQuery ajax fileupload (ajax ÆÄÀϾ÷·Îµå)</h3> <form name="multiform" id="multiform" action="FileUploadServlet" method="POST" enctype="multipart/form-data"> title: <input type="text" name="title" value=""/> <br/> description :<input type="text" name="description" value="" /> <br/> <!-- ´ÙÁß ÆÄÀϾ÷·Îµå --> photo : <input type="file" class="afile3" name="photo" /> <div id="afile3-list" style="border:2px solid #c9c9c9;min-height:50px"></div> <input type="submit" id="btnSubmit" value="Àü¼Û"/><br/> </form>
<div id="result"></div>
<script>
/*jQuery form Ç÷¯±×ÀÎÀ» »ç¿ëÇÏ¿© Æûµ¥ÀÌÅ͸¦ ajax·Î Àü¼Û*/
var downGroupCnt =0; //´Ù¿î·Îµå±×·ì °³¼öÄ«¿îÆ®
$(function(){ //ÆûÀü¼Û : ÇØ´çÆûÀÇ submit À̺¥Æ®°¡ ¹ß»ýÇßÀ»°æ¿ì ½ÇÇà $('#multiform').ajaxForm({ cache: false, dataType:"json", //º¸³»±âÀü validation check°¡ ÇÊ¿äÇÒ°æ¿ì beforeSubmit: function (data, frm, opt) { //console.log(data); alert("Àü¼ÛÀü!!"); return true; }, //submitÀÌÈÄÀÇ Ã³¸® success: function(data, statusText){ alert("Àü¼Û¼º°ø!!"); console.log(data); //ÀÀ´ä¹ÞÀº µ¥ÀÌÅÍ ÄַܼΠÃâ·Â output(data); //¹ÞÀº Á¤º¸¸¦ ȸé Ãâ·ÂÇÏ´Â ÇÔ¼ö È£Ãâ }, //ajax error error: function(e){ alert("¿¡·¯¹ß»ý!!"); console.log(e); } }); });
//Àü´Þ¹ÞÀº Á¤º¸¸¦ °¡Áö°í ȸ鿡 º¸±â ÁÁ°Ô Ãâ·Â function output(data) { //¾÷·ÎµåÇÑ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÒ¼öÀÖµµ·Ï È¸é ±¸¼º $("#result").append("<h3>("+(++downGroupCnt)+") ´Ù¿î·Îµå</h3>"); $("#result").append("Á¦¸ñ:"+data.title+"<br/>"); $("#result").append("¼³¸í:"+data.description+"<br/>"); if(data.photo){ $("#result").append("Æ÷Åä:<br/>"); $.each(data.photo, function(index, item){ var link = "FileDownload?f="+item.uploadedFileName+"&of="+item.fileName; $("#result").append("<a href='"+ link +"' download>"+item.fileName+"</a>"); $("#result").append("<br/>"); }); } /* if(data.file){ var link = "FileDownload?f="+data.file.uploadedFileName+"&of="+data.file.fileName; $("#result").append("ÆÄÀÏ :<a href='"+ link +"' download>"+data.file.fileName+"</a>"); $("#result").append("<br/>"); } */ $('#multiform')[0].reset(); //Æû ÃʱâÈ(¸®¼Â); $('#multiform input:file').MultiFile('reset'); //¸ÖƼÆÄÀÏ ÃʱâÈ } </script>
</body> </html> |
|
![](/upload/images/3/1424426503904.png)
![](/upload/images/3/1424426503991.png)
![](/upload/images/3/1424426504007.png)
|
Ajax
jQuery Form Plugin À» »ç¿ëÇؼ ºñµ¿±â¹æ½Ä(Ajax)À¸·Î ¾÷·ÎµåÇÑÈÄ file inputÄÁÆ®·ÑÀ» ¸®¼Â ÇÏ´Â ¹æ¹ý!?
To reset the file selections, just make the following call:
$('input:file').MultiFile('reset') |
[±âŸ Àâ´ã]
Multiple File Upload jQuery Plugin 2.1.0 ¹öÀüºÎÅÍ´Â À̹ÌÁöÆÄÀÏÀ» ¾÷·Îµå Ãß°¡ÇßÀ»°æ¿ì À̹ÌÁö ¹Ì¸®º¸±â¸¦ Áö¿øÇÏ´Â°Í °°´Ù.
¿¹Á¦: http://jsfiddle.net/fyneworks/2LLws/
Multiple File Upload jQuery Plugin 2.1.0 ¹öÀü : https://rawgit.com/fyneworks/multifile/2.1.0-preview/jquery.MultiFile.js
<input type="file" class="multi with-preview" multiple /> |