如何在AngularJS中获取文件内容和其他详细信息

18 浏览
0 Comments

如何在AngularJS中获取文件内容和其他详细信息

点击提交按钮时,我如何获取文件内容。我只能获取第一个和第二个输入。

请参考下面的代码片段:

姓:

名:

表单内容 = {{user}}

主控内容 = {{master}}

0
0 Comments

问题出现的原因是用户想要获取文件内容和其他细节,但是在使用指令处理文件时,无法成功获取文件内容。解决方法是使用指令来处理文件,通过在指令中绑定change事件来获取文件内容,并将文件内容通过ngModel传递给控制器中的函数。如果用户想要在点击提交按钮后才获取文件内容,可以通过在点击事件中调用指令来实现。虽然不能在纯AngularJS中实现这个功能,但是可以使用指令来解决问题。

0
0 Comments

如何在AngularJS中获取文件内容和其他细节

在AngularJS中,你不能直接使用ng-scopes来访问文件内容,但是你可以使用原生JavaScript的FileAPI来读取文件内容。以下是一个工作的示例,我认为你想要在不上传到服务器端的情况下显示文件内容。不太清楚你想要什么,所以这是如何在浏览器中获取文件内容、文件大小和文件名的方法。

View:

Filename: {{ fileName }}

File size: {{ fileSize }} Bytes

File Content: {{ fileContent }}

AngularJS App:

var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
    $scope.fileContent = '';
    $scope.fileSize = 0;
    $scope.fileName = '';
    $scope.submit = function () {
      var file = document.getElementById("myFileInput").files[0];
      if (file) {
        var aReader = new FileReader();
        aReader.readAsText(file, "UTF-8");
        aReader.onload = function (evt) {
            $scope.fileContent = aReader.result;
            $scope.fileName = document.getElementById("myFileInput").files[0].name;
            $scope.fileSize = document.getElementById("myFileInput").files[0].size;;
        }
        aReader.onerror = function (evt) {
            $scope.fileContent = "error";
        }
      }
    }
});

以上代码中,我们定义了一个AngularJS应用程序和一个控制器。在控制器中,我们使用原生JavaScript的FileReader来读取文件内容。当用户点击“Submit”按钮时,我们获取文件输入框中选择的文件,并读取其内容。读取完成后,我们将内容、文件名和文件大小存储在$scope中,以便在视图中显示。

通过这种方法,我们可以在AngularJS中获取文件内容和其他细节,而无需上传到服务器端。

0