본문 바로가기
Programming/> Javascript

[Javascript] iframe을 이용한 비동기 파일 업로드 및 콜백 처리

by 니키ᕕ( ᐛ )ᕗ 2015. 6. 29.

IE8도 됨 7은 확인 안해봄...  인터넷에 흔한 방법 중 하나임

공공기관 사이트라 IE8을 저주한다 진짜 


var form = $("#form"); var iframe = $("iframe"); ( 원래 <>괄호로 감싸줘야되는데 깨져서 일단 임의로...) // iframe 설정, name 설정을 반드시 해줘야 target으로 인식한다. 이거 안해줘서 애먹음 iframe.attr("id", "upload_iframe").attr("name", "upload_iframe").attr("style", "border: none;display: none;"); // form이 load되는 화면을 현재 화면이 아니라 iframe으로 잡아줌 // 파일 여러개+텍스트를 올리기 위해 multipart/form-data 설정 form.attr("action", "/fileUpload") .attr("method", "post") .attr("enctype", "multipart/form-data") .attr("target", "upload_iframe"); $("body").append(iframe); $('#upload_iframe').load(function(){ // iframe의 json 응답을 가져와서 파싱함 var json = $.parseJSON( $('#upload_iframe').contents().find("body")[0].innerText); // xml 응답도 가능은 하나 IE8이하에서는 동작안함... // ROWSET을 태그로서 전혀 못잡음... STACKOVERFLOW에 여러 방법이 있었는데 안됨... ㅠㅠ var xml = $('#upload_iframe').contents().find("ROWSET"); }); form.submit();



JAVA단은 기존에 만들어진게 있어서 내가 따로 짠게 없으므로... 패스.. 인데

MultipartRequest를 사용해야한다. request.getParameter()로 받아오면 null만 주구장창 뜬다. 검색하면 많음


댓글