2016-12-23 20 views
4

我创建一个web应用程序中,我有一个输入字段来获取与文件类型的文件名输入类型的文件无法在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); 
} 

在我的控制台中的值(谷歌浏览器)是Undefined

我需要怎么做?

+0

没有它不工作这就是为什么我问的问题在这里,先生 –

+0

您使用NG-模型 – 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

把abode指令放在你的项目上,然后在你的控制器上用修改你的输入,你将得到变量'$ scope.filename'的文件名' – M14

+0

谢谢你终于有效 –