如何在AngularJS中获取文件扩展名?

时间:2018-05-22 11:02:14

标签: angularjs

我收到一个数组,我在AngularJS的ng-repeat中使用它。在该数组中有一些文件名,如abc.pdfxyz.jpgtest.png

现在从这些文件名中我想获取这些文件的扩展名。如何在AngularJS / HTML中完成?

4 个答案:

答案 0 :(得分:3)

您可以使用javascript substring方法:

Blob

如果您想直接在html中使用它,我建议您根据上述逻辑创建一个过滤器。

fileName.substr(fileName.lastIndexOf('.')+1)

您可以在模板中使用它:

angular.module('App.filters', [])
    .filter('ext', [function () {
        return function (text) {
            return text.split('.').pop();
        };
    }]);

答案 1 :(得分:1)

在渲染数组之前转换(映射)数组,例如

var fileNames = ['abc.pdf', 'xyz.jpg']
$scope.files = fileNames.map(function (fileName) {
  return {
    name: fileName,
    ext: fileName.substr(fileName.lastIndexOf('.') + 1)
  }
});

然后渲染

<ul>
  <li ng-repeat="file in files">{{file.name}} {{file.ext}}</li>
</ul>

答案 2 :(得分:0)

只需使用简单的Javascript:

array.map(elem => elem.substring(elem.indexOf('.') + 1)

这将为您返回新的文件扩展名数组。

答案 3 :(得分:0)

XYZ

在大多数情况下都是

"abc.pdf".split(".")[{Index Of Last Element}]

这应该可以解决问题。