2016-12-06 3 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のフィールド

対応するオブジェクトの配列に名前を付け加えることができます。その後、

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

vm.uploadedFilePathsからのパスを取得:

ng-repeat(ファイルの入力または複数のいずれか)で単一のアップロード入力ではなくがあれば、私は簡単にイベントを通してそれを取ることによって、パスを取得することができます。

私が使用しているので、私はビューでファイル入力を示すための任意のグッドプラクティスを知らない:私はアップロードしたファイルのそれぞれに対応するパスを取得する方法がわからない

<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); 
}; 

の完了時に今、あなたは、詳細情報を得るためにあなたのビューでこの配列を使用することができます。

関連する問題