2016-12-23 13 views
4

Я создаю веб-приложение, в котором у меня есть поле вводавходной тип файла не может получить имя файла с типом файла в angularjs

<input type="file" ng-model="getfilename" />

и кнопка

<button ng-click="clickfordetails()">Click Here!</button>

и тег абзаца <P>{{file}}</p> , когда пользователь нажимает кнопку после ввода файла из поля ввода, он должен получить имя файла в {{file}}

и вот мой контроллер для той же

$scope.clickfordetails=function() { 
    $scope.file=$scope.getfilename; 
} 

, но я не могу получить имя файла, когда я изменить мой контроллер для этого

$scope.clickfordetails=function() { 
    console.log($scope.getfilename); 
} 

значение в моей консоли (Google Chrome) составляет Undefined

как мне это нужно? не

+0

нет, это не работает вот почему я задал вопрос здесь сэр –

+0

Вы косяк доступ к файлам с помощью Нг-модели – Ved

+0

проверить это http://stackoverflow.com/questions/18571001/ file-upload-using-angularjs – user1645290

ответ

4

Используйте ниже директивы

directive('customFileInput', [function() { 
    return { 
     link: function (scope, element, attrs) { 
      element.on('change', function (evt) { 
       var files = evt.target.files; 
       scope.filename=files[0].name 
      }); 
     } 
    } 
}]); 
+0

, где мне нужно использовать директиву? –

+0

поместите директиву обители в свой проект, затем измените свой ввод с помощью на вашем контроллере, вы получите имя файла в переменной '$ scope.filename' – M14

+0

спасибо, что он работает наконец –