반응형
[JavaScript] <input type="file"> 에서 CSV, Json 파일 읽는 방법
< HTML >
< JavaScript >
/*
file load events
*/
function loadFile(sender) {
// check file ext
var validExts = new Array(".csv", ".json"); // Allow csv, json
var fileExt = sender.value;
fileExt = fileExt.substring(fileExt.lastIndexOf('.'));
// If ext is not valid -> alert
if (fileExt && validExts.indexOf(fileExt) < 0) {
alert("Invalid file selected.
valid files are of " + validExts.toString() + " types. ");
return false;
}
// file read
var reader = new FileReader();
reader.onload = function (sender) {
var data = sender.target.result;
// .. if json
if (fileExt === ".json") {
data = JSON.parse(data.replace(/u'(?=[^:]+')/g, "'"));
// ...
}
else if (fileExt === ".csv") {
data = data.split(/\r\n|\n/); // 줄바꿈으로 나눔
// ...
}
};
reader.readAsText(sender.files[0]);
}
* FileReader() 생성자는 Internet Explorer 10 이전 버전에서는 지원하지 않는 기능. (참고)
반응형
'WEB > JavaScript' 카테고리의 다른 글
| [JavaScript] popper.min.js.map 파일 (0) | 2019.02.14 |
|---|---|
| [JavaScript] input 에 enter key 입력 이벤트 (0) | 2019.02.08 |
| [Javascript] number spinner (0) | 2019.01.21 |
| [JavaScript] 클래스 제어 (0) | 2019.01.18 |
| [JavaScript] 웹 브라우저 확인 방법 (0) | 2019.01.17 |