2014-09-22 5 views
1

파일 업로드를위한 간단한 끌어서 놓기 지시문을 만들었지 만, 주된 관심사는 IE8/9 지원이 필요하다는 것입니다. FormData가 지원되지 않는다는 것을 고려하면 어떻게해야합니까? FormData 개체를 사용하지 않고 여러 파일을 업로드 하시겠습니까?AngularJs File Upload without FormData

미리 감사드립니다.

이 편집 : 는 내가 뭘해야합니까 노력하고있어 이것이다 :

$scope.uploadFile = function() { 
     var upload = $http.post('awesomeFileThatWantsMultipleFilesUploaded.php', 
       angular.element(document.getElementsByClassName('droppable')).scope().files, 
       {withCredentials: true, 
        headers: {'Content-Type': undefined }, 
        transformRequest: angular.identity}) 
      .success(function (response) { 
       }); 

     return upload; 
    } 

그러나 문제는 브라우저가 FormData를 지원하지 않을 때, 내가 arrayfiles 변수를 초기화하는 것입니다, 그런 다음 각 파일을 변수에 푸시합니다. 파일이 FormData이면이 작동합니다.

+0

이 모듈은 https://github.com/nervgh/angular-file-upload가 좋습니다. FormData를 사용하여 기본 HTML5 업로드를 지원하지만 이전 브라우저의 경우 기존 iframe 업로드 방법으로 저하됩니다. – Nils

답변

0

직접 작성하지 마십시오. 오히려 지저분하고 항상 문제가 생깁니다. 당신은 그 저장소에 코드를 확인 (here)

당신이 손으로 그것을하려면 내가 angular-file-upload을 사용하여 각도의 브라우저에서 S3에 업로드 할 수있는 방법도있다, moxie처럼, formdata에 대한 polyfill을 사용할 수 있습니다 몇 가지 아이디어를 찾으십시오.

+0

Plupload는 IE9를 지원하지 않으므로 Moxie가 IE9를 기반으로합니다. 각도 파일 업로드, 89 행의 [여기] (https://github.com/danialfarid/angular-file-upload/blob/master/dist/angular-file-upload.js)에서 볼 수 있듯이 formData, ie9 지원 때문에 피하고 싶습니다. –

+0

https://github.com/danialfarid/angular-file-upload#-old-browsers 예, html5 polyfill이 필요하며 브라우저에서 문제가 발생하지 않도록 문제를 확인하십시오. – donnanicolas