当前位置: 首页 > 面试题库 >

使用angularjs获取所选文件的来源和名称

邢永安
2023-03-14
问题内容

上传之前,有没有一种方法可以使用angularJS在输入字段中获取所选文件的名称,路径和大小?

<input type="file" ng-model="fileContent" on-read-file="showContent($fileContent)" />

$scope.showContent = function($fileContent){

    $scope.content = $fileContent;

};

任何人都可以帮助解决这个问题吗?


问题答案:

HTML5 File API将为File您尝试上传的每个文件提供一个对象。该File对象将具有sizeand
name属性,该属性将为您提供文件大小(以字节为单位)和文件名。

但是,用户计算机上文件的物理路径没有属性。

您可以在MDN上阅读有关此内容的更多信息:https : //developer.mozilla.org/en-
US/docs/Using_files_from_web_applications

有关此File对象的更多信息,请访问:https : //developer.mozilla.org/en-
US/docs/Web/API/File

这是一个工作示例:http :
//jsfiddle.net/fmeLz9cd/

给定类型file为id 的输入fileSelected,这是通过File API访问属性的示例:

 $('#fileSelected').on('change', function (evt) {
    var files = $(evt.currentTarget).get(0).files;

    if(files.length > 0) {
        $('#fileName').text(files[0].name);
        $('#fileSize').text(files[0].size);
        $('#filePath').text($('#fileSelected').val());
    }
});

更新资料

既然您已经请求了AngularJS的特定示例,那么以下是在angular应用程序中运行的相同代码:

http://jsfiddle.net/vyc6jq84/1/

<div ng-app="fileDemo">
    <input type="file" fd-input />
</div>

var app = angular.module('fileDemo', []);

app.directive('fdInput', [function () {
    return {
        link: function (scope, element, attrs) {
            element.on('change', function  (evt) {
                var files = evt.target.files;
                console.log(files[0].name);
                console.log(files[0].size);
            });
        }
    }
}]);


 类似资料:
  • 问题内容: 出于某种原因,我使用以下代码将文件名始终保持为“ 1”: 当我在$ results_array中回显每个元素时,我得到了一堆‘1’,而不是文件名。如何获得文件名? 问题答案: 不要打扰open / readdir,而使用:

  • 本文向大家介绍Python获取文件所在目录和文件名的方法,包括了Python获取文件所在目录和文件名的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 输出: 以上就是小编为大家带来的Python获取文件所在目录和文件名的方法全部内容了,希望大家多多支持呐喊教程~

  • 问题内容: 我需要使用文件夹中文件的所有名称创建一个列表。 例如,如果我有: 我想将它们存储为 with 作为值。 用Java做到最好的方法是什么? PS:我在Mac OS X上 问题答案: 你可以这样做: 你只想获取JPEG文件还是所有文件?

  • 问题内容: 我正在尝试使用AngularJS获取选项列表的文本值 这是我的代码片段 返回选项的值,例如:prod_1。我正在尝试获取文本值“产品1”。有没有办法做到这一点? 问题答案: 最好的方法是在元素上使用指令。 控制者 HTML 这会将所选对象绑定到属性- 。之后,您可以使用以下命令: jsFiddle :http : //jsfiddle.net/bmleite/2qfSB/

  • 我有这样一个下拉列表: 如何使用JavaScript获得实际的选项文本而不是值?我可以通过以下方法获得值: 但我想要的不是而是。

  • 问题内容: 如何使用C ++获取Linux文件系统上文件的所有者名称和组名称?该呼叫仅提供了所有者ID和组ID,但没有提供实际名称。 如何以编程方式获取“ john”和“ devl”? 问题答案: 使用和。