2016-06-23 3 views
2

Я просто учусь так, прости меня, если мой вопрос прозрачен. Теперь у меня есть в контроллер:Как автоматизировать загрузку файлов в AngularJS?

$scope.fileUrl = 'test/data_1.zip'; 
$scope.fileName = 'myData'; 

В HTML:

<a href="{{fileUrl}}" download="{{fileName}}"> Download version 1 </a> 

Так, может быть, завтра я добавлю в папку тест файл data_2.zip .. и затем снова и снова. Поэтому я буду вынужден писать почти ту же строку в html & контроллер много раз ... Как я могу автоматизировать этот процесс? Я надеюсь, что я запросила возможно, любая помощь будет оценена :)

ответ

3

вы можете хранить все ваши файлы в массиве и перебирать overthem с ng-repeat:

$scope.files = [{ 
     url: 'test/data_1.zip', 
     name: 'myData' 
    }, { 
     url: 'test/data_2.zip', 
     name: 'myData2' 
    }, ... ]; 

в вашем HTML вы пишете:

<a href="{{file.url}}" download="{{file.name}}" ng-repeat="file in files"> Download version 1 </a> 
+0

Отлично, спасибо человеку. –

+1

Рады приветствовать – chresse

1

пока ваш именование соответствует использовать это:

HTML:

<div ng-repeat="a in array"> 
    <a href="test/data_{{$index+1}}.zip" download="{{fileName}}{{$index+1}}"> Download version {{$index + 1}} </a> 
</div> 

Контроллер:

var numberOfFiles = 12; 
$scope.array = new Array(numberOfFiles); 
$scope.fileName = 'myData'; 

Вы создаете «N» количество ссылок для загрузки и только заменой номера в конце файла. например test/data_#.zip

Fiddle: http://jsfiddle.net/Lvc0u55v/5812/

+0

Человек, спасибо, он работает для меня. Но @chresse был первым :) –

+1

Нет проблем, используйте все, что подходит вашему приложению. – theblindprophet