There is input
with file
type. The user selects the file. Then there is a button. When the user presses the button ( ng-click
), the function is started in the controller. The function should pull the text from this file. And display it (for example, in the console. console.log()
). Help to do this.
- Hello. Please provide a sample code. - Stepan Kasyanenko
- Write a directive. - Qwertiy ♦
|
1 answer
Hello. On pure javascript, the code looks like this: https://jsfiddle.net/47bb9tcb/1/
var result = document.getElementById('result'); var input = document.getElementById('file'); input.addEventListener('change', function(e) { if (window.File && window.FileReader && window.FileList && window.Blob) { var files = e.target.files; // список файлов for (var i = 0; i < files.length; i++) { var file = files[i]; var type = file.type; // проверяем тип файла if (/text\/.*/.test(file.type)) { readFile(file, function(text) { result.innerText = text; }); } } } else { alert('Ваш браузер не поддерживает FileAPI!'); } }, false); function readFile(file, callback) { var reader = new FileReader(); reader.readAsText(file); reader.onload = function(e) { var text = e.target.result; text = text.replace(/↵/g, '\n'); callback && callback(text); }; }
<input type="file" id="file"> <div id="result"></div>
|