티스토리 뷰

한글깨짐 처리를 위해 hidden을 하나 추가해서 거기에 파일명을 저장해서 넘김


<form id="ajaxform" action="" method="post" enctype="multipart/form-data" accept-charset="euc-kr">
                <div class="filebox clearfix">
                  <label for="appFile" class="left">첨부파일</label>
                  <input type="file" name="appFile[]" multiple id="appFile"
class="left" accept="image/jpeg,image/gif,image/png,application/pdf,image/x-eps"/>
                  <input type="hidden" name="appFileName" id="appFileName"/>
                  <div id="formTarget" class="left"></div>
                </div>
              </form>




<script language="Javascript" type="text/javascript" src="/js/jQuery.form.min.js"></script>  
$('#ajaxform').on('change', function() {
    var input = $("#appFile");
    var list = $("#appFileName");
    var arrFileName = new Array();
    for (var i = 0; i < input.prop("files").length; i++){
      arrFileName.push((input)[0].files[i].name);
    }
    list.val(encodeURI(arrFileName));
    $(this).ajaxSubmit({      
      url : "",
      method : "post",
      contentType: "application/x-www-form-urlencoded; charset=euc-kr",
      data : encodeURI($(this).serialize()),
      success: function(responseText, statusText){
        $("#formTarget").append(responseText+"<br/>");
      },
      error: function(){
        alert("에러발생!!");
      }
     })
  });


이렇게 처리를 해서 넘겨도 input file안에 파일명은 인코딩이 안되는 관계로 파일명을 배열로 만들어서 hidden에 넣어주고 폼 전송한 후 이 값을 파일명으로 이용..


성공부분 처리부분은 json으로 받아와서 처리하면 되는데 아직 처리전...


꼼수~

댓글