2012-12-26 1 views
0

jsfiddle.net link to code 문제는 여러 개의 이미지 파일을 선택하면 모든 이미지가 브라우저로로드되고 모든 div가 그려 지지만 하나의 이미지 만 표시됩니다. 그것은 모든 div에게 자신의 이미지를 제공해야합니다.FileReader images upload

 $('#import').change(function(event){ 
     namelist = new Array; 
     var files = event.target.files; 
     for(i=0;i<event.target.files.length; i++){ 
       pictures = files[i]; 
       image = new Image(); 
       image.id = i; 
       image.file = pictures; 
       var reader = new FileReader(); 
       reader.onload = function(evt){ 
        image.src = evt.target.result; 
       } 
       namelist.push({sourceimage: image, id:i}); 
       reader.readAsDataURL(pictures); 
      } 
      drawDivs(); 
     }); 
+0

문제 해결 :

는이 문제 메이커 코드의 일부가 될 것으로 보인다. src = evt.target.result; } 실제 이미지를 읽을 때까지 해당 이미지에 아무런 데이터도없고 이미지 객체가 마지막 이미지 – Kasma

+0

kk를 가리킬 때까지 실행됩니다. 클로저가 고쳐주었습니다. 내가 agen를 시험해 보게했다 :) –

답변

0
reader.onload = (function(image){ 
         return function(evt){ 
          image.src = evt.target.result; 
         }; 
        })(image); 

폐쇄 코드 reader.onload = 기능 (EVT) { 이미지의이 라인에있다가