如何在AngularJS中获取文件内容和其他详细信息
如何在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中获取文件内容和其他细节,而无需上传到服务器端。