2016-12-06 18 views
1

Angular 1과 angular-file-upload 플러그인을 사용하고 있습니다. 나는 같은과 다른 카드를 생성하는 이름을 입력하고 파일 입력 필드와 버튼으로 ng-repeat이보기에ng-repeat 내에서 파일 업로드가 여러 개인 업로드 파일의 파일 경로를 가져옵니다.

result = [{ 
    name: "whatever string", 
    uploadedFilePath: "/whatever/path/image.png" 
}, { 
    name: "other string", 
    uploadedFilePath: "/whatever/path/otherImage.png" 
}] 

:

는 나는 다음과 같은 방법으로 채워 배열을 만들려면 ng-repeat의 필드

해당 객체의 배열에 이름을 많이 추가 할 수 있습니다.

내가 쉽게 이벤트를 통해 복용하여 경로를 얻을 수 있습니다 하나의 업로드 입력이 아닌 ng-repeat (파일 입력 중 하나 또는 복수)의 경우 : vm.uploadedFilePaths에서 경로를

vm.uploader.onCompleteItem = function(fileItem, response, status, headers) { 
    vm.uploadedFilePaths.push(response.filePath); 
}; 

후 점점 .

내가 사용 그래서 내가보기에 파일 입력을 보여주는 좋은 사례를 모르는 : 내가 업로드 한 파일 각각에 대응하는 경로를 얻는 방법을 모르는

<input type="file" ng-file-model="files" multiple /> 
<p ng-repeat="file in files"> 
    {{file.name}} 
</p> 

배열의 해당 객체에 추가합니다.

나는 대응 장소에 그들을 넣으려면 마지막으로 vm.uploader.uploadAll(); 이벤트를 사용해야한다고 확신한다. 그러나 각각에 해당하는 장소를 찾는 방법은 무엇입니까? $index을 어떻게 활용할 수 있는지 잘 모르겠습니다.

나는 초보자 용으로 설명 할 수 있다면 매우 고맙겠습니다. angular-file-upload을 사용하는 것에 매우 익숙합니다.

답변

0

vm.fileDetails = { 
         name:"", 
         path:"" 
         } 

로 다음

vm.uploader.onCompleteItem = function(fileItem, response, status, headers) { 
    vm.fileDetails.name = response.fileName; 
    vm.fileDetails.path = response.filePath; 
    vm.uploadedFilePaths.push(vm.fileDetails); 
}; 

지금 당신이 세부 사항을 얻을보기에이 배열을 사용하여 업로드의 완료에 객체를 선언합니다.