반응형
AngularJS에서 파일을 읽는 방법?
AngularJS로 파일을 읽을 수 있습니까?자르기 위해 HTML5 캔버스에 파일을 넣고 싶습니다.
제가 지시서를 쓸까 했는데요?이것이 제 지시사항에 넣을 자바스크립트 코드입니다.
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
네, 지시사항이 맞는 방법이지만, 약간 달라 보입니다.
.directive("ngFileSelect",function(){
return {
link: function($scope,el){
el.bind("change", function(e){
$scope.file = (e.srcElement || e.target).files[0];
$scope.getFile();
});
}
}
})
작동 예: http://plnkr.co/edit/y5n16v?p=preview
이 링크에 대해 lalalal almbda에게 감사드립니다.
체르니브의 암호를 받아 지시문으로 접었습니다
.directive('fileSelect', ['$window', function ($window) {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, el, attr, ctrl) {
var fileReader = new $window.FileReader();
fileReader.onload = function () {
ctrl.$setViewValue(fileReader.result);
if ('fileLoaded' in attr) {
scope.$eval(attr['fileLoaded']);
}
};
fileReader.onprogress = function (event) {
if ('fileProgress' in attr) {
scope.$eval(attr['fileProgress'],
{'$total': event.total, '$loaded': event.loaded});
}
};
fileReader.onerror = function () {
if ('fileError' in attr) {
scope.$eval(attr['fileError'],
{'$error': fileReader.error});
}
};
var fileType = attr['fileSelect'];
el.bind('change', function (e) {
var fileName = e.target.files[0];
if (fileType === '' || fileType === 'text') {
fileReader.readAsText(fileName);
} else if (fileType === 'data') {
fileReader.readAsDataURL(fileName);
}
});
}
};
}]);
그러면 다음과 같이 지시문을 사용할 수 있습니다.
<input type="file" ng-model="file.data"
file-select="data"
file-loaded="myLoaded()"
file-error="myError($error)"
file-progress="myProgress($total,$loaded)">
여기서 "file.data", "myLoaded", "myError" 및 "myProgress"는 엔클로저 범위에 있습니다.
각도 파일 판독기.
link: function(scope, element, attrs) {
element.on('change', function(e) {
var reader = new FileReader();
reader.onload = function(e) {
scope.$apply(function() {
scope.onReadFile({$content:e.target.result});
});
};
reader.readAsText((e.srcElement || e.target).files[0]);
});
}
라이브 예제: Live Run On Plunker
언급URL : https://stackoverflow.com/questions/18839048/how-to-read-a-file-in-angularjs
반응형
'source' 카테고리의 다른 글
Wocommerce 사용자 정의 제품 텍스트 (0) | 2023.09.21 |
---|---|
Storing Lat Lng values in MySQL using Spatial Point Type (0) | 2023.09.21 |
Flask @app.ro ute에서 python 콘솔로 인쇄하는 방법 (0) | 2023.09.21 |
Go-SQL-Driver로 인해 maria-db CPU 사용률이 매우 높음 (0) | 2023.09.21 |
안드로이드:인텐트(intent)를 사용하여 일반 텍스트 공유(모든 메시징 앱에) (0) | 2023.09.21 |