사용자가 javascript 파일이 포함 된 폴더를 html 5 페이지로 끌어서 놓을 수있게하려는 시도입니다. 현재 내가 가지고있는 것입니다 :HTML 5 파일 판독기에서 Java 스크립트 파일 읽기
$scope.files = [];
//Establish dropzone
var dropbox;
dropbox = document.getElementById("fileDragAndDrop");
dropbox.addEventListener("dragenter", dragenter, false);
dropbox.addEventListener("dragover", dragover, false);
dropbox.addEventListener("drop", drop, false);
//Events
function dragenter(e) {
e.stopPropagation();
e.preventDefault();
};
function dragover(e) {
e.stopPropagation();
e.preventDefault();
};
function drop(e) {
e.stopPropagation();
e.preventDefault();
var items = e.dataTransfer.items;
for (var i = 0, item; item = items[i]; i ++) {
var entry = item.webkitGetAsEntry();
if(entry) {
traverseFileTree(entry);
}
}
};
//resursive file walker
function traverseFileTree(item) {
if(item.isFile) {
$scope.$apply(function() {
$scope.files.push(item);
});
} else if (item.isDirectory) {
var dirReader = item.createReader();
dirReader.readEntries(function(entries) {
for (var i = 0; i < entries.length; i++) {
traverseFileTree(entries[i]);
}
});
}
};
그래서 드래그 앤 드롭은 작동하지만 파일 내용을 읽는 데 문제가 있습니다.
$scope.parse = function() {
for(var i = 0; i < $scope.files.length; i++) {
var fileReader = new FileReader();
fileReader.onload = function (e) {
console.log(fileReader.result);
};
fileReader.onerror = function(err) {
console.log(err);
};
fileReader.readAsBinaryString($scope.files[i]);
}
};
오류 메시지가 표시되지 않으므로 디버깅하기가 어렵습니다. 내가 뭐 잘못하고 있니? 비슷한 일을하는 데 문제가있는 사람이 있습니까?