테스트 사이트 - 개발 중인 베타 버전입니다

input file 프리뷰 하나씩 추가가 안됩니다. 채택완료

인찌 3년 전 조회 3,456

이미지가 하나씩 추가되었으면 좋겠는데 그냥 서로 바뀌더라구요.

파일 선택할 때 한번에 선택하지 않으면 안되서요ㅠ  혹시 이미지 변경이 아닌 하나씩 추가되게 할수 있을까요? 

 

</strong></p>

<p> </p>

<p><div class="filebox clearfix"></p>

<p>                                <div class="inputFile"></p>

<p>                                    <label for="AddImgs" class="addImgBtn">+</label></p>

<p>                                    <input type="file" id="AddImgs" class="upload-hidden" accept=".jpg, .png, .gif"</p>

<p>                                        multiple></p>

<p>                                </div></p>

<p>                                <ul id="Preview" class="sortable"></ul></p>

<p>                            </div></p>

<p> </p>

<p><script></p>

<p>//드래그 앤 드롭</p>

<p>                        $(".sortable").sortable();</p>

<p> </p>

<p>                        //이미지 등록</p>

<p>                        $("#AddImgs").change(function (e) {</p>

<p>                            //div 내용 비워주기</p>

<p>                            $('#Preview').empty();</p>

<p> </p>

<p>                            var files = e.target.files;</p>

<p>                            var arr = Array.prototype.slice.call(files);</p>

<p> </p>

<p>                            //업로드 가능 파일인지 체크</p>

<p>                            for (var i = 0; i < files.length; i++) {</p>

<p>                                if (!checkExtension(files[i].name, files[i].size)) {</p>

<p>                                    return false;</p>

<p>                                }</p>

<p>                            }</p>

<p>                            preview(arr);</p>

<p> </p>

<p>                            function checkExtension(fileName, fileSize) {</p>

<p>                                var regex = new RegExp("(.*?)\.(exe|sh|zip|alz)$");</p>

<p>                                var maxSize = 20971520; //20MB</p>

<p> </p>

<p>                                if (fileSize >= maxSize) {</p>

<p>                                    alert('이미지 크기가 초과되었습니다.');</p>

<p>                                    $("#AddImgs").val(""); //파일 초기화</p>

<p>                                    return false;</p>

<p>                                }</p>

<p> </p>

<p>                                if (regex.test(fileName)) {</p>

<p>                                    alert('확장자명을 확인해주세요.');</p>

<p>                                    $("#AddImgs").val(""); //파일 초기화</p>

<p>                                    return false;</p>

<p>                                }</p>

<p>                                return true;</p>

<p>                            }</p>

<p> </p>

<p>                            function preview(arr) {</p>

<p>                                arr.forEach(function (f) {</p>

<p>                                    //파일명이 길면 파일명...으로 처리</p>

<p>                                    /*</p>

<p>                                    var fileName = f.name;</p>

<p>                                    if(fileName.length > 10){</p>

<p>                                        fileName = fileName.substring(0,7)+"...";</p>

<p>                                    }</p>

<p>                                    */</p>

<p> </p>

<p>                                    //div에 이미지 추가</p>

<p>                                    var str = '<li class="ui-state-default">';</p>

<p>                                    //str += '<span>'+fileName+'</span>
';</p>

<p> </p>

<p>                                    //이미지 파일 미리보기</p>

<p>                                    if (f.type.match('image.*')) {</p>

<p>                                        //파일을 읽기 위한 FileReader객체 생성</p>

<p>                                        var reader = new FileReader();</p>

<p>                                        reader.onload = function (e) {</p>

<p>                                            //파일 읽어들이기를 성공했을때 호출되는 이벤트 핸들러</p>

<p>                                            str += '<img src="' + e.target.result +</p>

<p>                                                '" title="' + f.name +</p>

<p>                                                '" width=80 height=80>';</p>

<p>                                            str +=</p>

<p>                                                '<span class="delBtn" onclick="delImg(this)">x</span>';</p>

<p>                                            str += '</li>';</p>

<p>                                            $(str).appendTo('#Preview');</p>

<p>                                        }</p>

<p>                                        reader.readAsDataURL(f);</p>

<p>                                    } else {</p>

<p>                                        //이미지 파일 아닐 경우 대체 이미지</p>

<p>                                        /*</p>

<p>                                        str += '<img src="/resources/img/fileImg.png" title="'+f.name+'" width=60 height=60 />';</p>

<p>                                        $(str).appendTo('#Preview');</p>

<p>                                        */</p>

<p>                                    }</p>

<p>                                })</p>

<p>                            }</p>

<p>                        })</p>

<p> </p>

<p>                        //이미지 삭제</p>

<p>                        function delImg(_this) {</p>

<p>                            $(_this).parent('li').remove()</p>

<p>                        }</p>

<p></script></p>

<p><strong>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
포이치
3년 전
$('#Preview').empty();

이부분에서 날리고 새로시작하네요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

인찌
3년 전
홀.. 저거 왜 못봤죠?! ㅠㅠ 너무 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인