app realization
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
<h1>Upload plain text file.</h1>
|
||||
|
||||
<form novalidate name="form">
|
||||
<div class="file-upload">
|
||||
<input name="file-upload"
|
||||
ng-model="file.upload"
|
||||
file-upload="showFileContent"
|
||||
class="form-control form-control-lg"
|
||||
id="fileInput" type="file" accept="text/plain"><br/>
|
||||
<button ng-click="showFileContent()" type="button" class="btn btn-primary btn-lg">Upload</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="file-contents" ng-if="fileData.fileContent">
|
||||
<p>File contents:</p>
|
||||
<pre>{{fileData.fileContent}}</pre>
|
||||
</div>
|
||||
@@ -0,0 +1,50 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('myApp.view1', ['ngRoute'])
|
||||
.config(['$routeProvider', function ($routeProvider) {
|
||||
$routeProvider.when('/view1', {
|
||||
templateUrl: 'view1/view1.html',
|
||||
controller: 'View1Ctrl',
|
||||
activetab: 'view1'
|
||||
});
|
||||
}]).run(function ($rootScope, $route) {
|
||||
$rootScope.$route = $route;
|
||||
}).controller('View1Ctrl', function ($scope, fileListService) {
|
||||
$scope.fileData = {
|
||||
'fileContent': '',
|
||||
'fileSize': 0,
|
||||
'fileName': '',
|
||||
'uploadTime': ''
|
||||
}
|
||||
|
||||
$scope.showFileContent = function () {
|
||||
const file = document.getElementById("fileInput").files[0];
|
||||
if (file && file.type === 'text/plain') {
|
||||
const fr = new FileReader();
|
||||
fr.readAsText(file, "UTF-8");
|
||||
fr.onload = function (evt) {
|
||||
document.getElementById("fileInput").innerHTML = evt.target.result;
|
||||
$scope.fileData.fileContent = fr.result;
|
||||
$scope.fileData.fileName = document.getElementById("fileInput").files[0].name;
|
||||
$scope.fileData.fileSize = document.getElementById("fileInput").files[0].size;
|
||||
$scope.fileData.uploadTime = new Date();
|
||||
$scope.$apply();
|
||||
fileListService.updateFileList($scope.fileData);
|
||||
}
|
||||
fr.onerror = function (evt) {
|
||||
document.getElementById("fileInput").innerHTML = "error";
|
||||
$scope.fileContent = "error";
|
||||
}
|
||||
} else {
|
||||
alert('Only plain text files are accepted');
|
||||
}
|
||||
}
|
||||
}).directive('fileUpload', function () {
|
||||
return {
|
||||
restrict: 'A',
|
||||
link: function (scope, element, attrs) {
|
||||
let onChangeHandler = scope.$eval(attrs.fileUpload);
|
||||
element.bind('change', onChangeHandler);
|
||||
}
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user