JSP/SERVLET
2015.02.20 / 18:55

jQuery MultiFile Ç÷¯±×ÀÎÀ» ÀÌ¿ëÇÑ ajax ¸ÖƼ ÆÄÀÏ ¾÷·Îµå Å×½ºÆ® ÇÁ·ÎÁ§Æ®

ÀÀ»ç1994
Ãßõ ¼ö 397

[Âü°í] °ü·Ã Æ÷½ºÆ®

 

[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>

 

 





 

 

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 />