2014-09-01 4 views
0

파일을 업로드하는 동안 진행 막대를 놓는 방법에 대해 도움을 줄 수있는 사람이 파일이 아직 업로드 중임을 나타냅니다. 죄송합니다. 저는 아직이 문제와 관련하여 새로운 것입니다. 나는 이것에 관해 많은 것을 읽었고, 그것에 아직도 혼란스럽게한다. 미리 감사드립니다. 에서 가능하지 않는 것 같습니다 불행하게도각도 JS의 진행 막대가있는 파일 업로드

$scope.addX = function() { 
     var f = document.getElementById('file').files[0]; console.log(f); 
     var formData = new FormData(); 
     formData.append('file', f); console.log(formData); 
      $http({method: 'POST', url: 'http://x.x.x./', 
          data: formData, 
          headers: {'Content-Type': undefined}, 
          transformRequest: angular.identity}) 
        .success(function(data, status, headers, config) { 
          if (data.success) { 

           console.log('import success!'); 

          } 
         }) 
         .error(function(data, status, headers, config) { 
         }); 
       // } 
      }; 

답변

0

:

 <form class="form-group" ng-submit="addX()"> 
     <div class="col-lg-4"> 
      <input id="file" type="file" name="file" class="file btn btn-default" data-show-preview="false"><br> 
      <input id="submit" class="btn btn-primary" type="submit" name="submit" value="Upload" /><br/><br/> 
     </div> 
    </form> 

그리고 여기 내 파이썬 파일에 저를 연결합니다 나의 JS입니다 : 여기

내가 파일을 제출 내 HTML입니다 순간. 진행 상황 업데이트에 필요한 xhr 요청에 대한 액세스를 요청하는이 스레드 https://github.com/angular/angular.js/issues/1934을 따라갈 수 있습니다. XHR2 개체를 직접 사용해야합니다. 또 다른 옵션은이 문제를 해결하려면이

var fd = new FormData(); 
fd.append("uploadedFile", file); 

xhr = new XMLHttpRequest(); 

xhr.upload.addEventListener("progress", uploadProgress, false); 

xhr.addEventListener("readystatechange", function (e) { 
// upload completed 
if (this.readyState === 4) { 

// do whats needed 
} 

xhr = null; 
} 
}); 

xhr.addEventListener("error", function (e) { 
callback(e); 
}); 
//xhr.addEventListener("abort", uploadCanceled, false); 
xhr.open("POST", url); 

// send the form data to the server 
xhr.send(fd); 

같은 뭔가 당신이 서비스를 제어 할 수 있습니다 할 경우 서버 측 그것을 처리하는 것입니다.