JavaScript의 `FileList` 객체는 `input` 요소에서 선택된 파일 목록을 나타내는데 사용됩니다. `FileList` 객체는 다음과 같은 속성과 메서드를 제공합니다:
1. `length`: 선택된 파일의 개수를 반환합니다.
2. `item(index)`: 주어진 인덱스에 해당하는 파일을 반환합니다.
3. `namedItem(name)`: 주어진 파일 이름에 해당하는 파일을 반환합니다.
4. `[index]`: 인덱스를 사용하여 파일에 접근할 수 있습니다. (`fileList[index]` 형태로 사용)
5. `entries()`: `FileList` 객체의 각 파일에 대한 반복자(iterator)를 반환합니다.
6. `forEach(callback)`: `FileList` 객체의 각 파일에 대해 콜백 함수를 실행합니다.
7. `item(index)`: 주어진 인덱스에 해당하는 파일을 반환합니다.
8. `keys()`: `FileList` 객체의 파일 인덱스에 대한 반복자(iterator)를 반환합니다.
9. `values()`: `FileList` 객체의 파일들에 대한 값 반복자(iterator)를 반환합니다.
주의할 점은 `FileList` 객체는 배열이 아니기 때문에 일반적인 배열 메서드를 직접 사용할 수 없습니다. 하지만 `Array.from(fileList)`과 같이 `Array.from()` 메서드를 사용하여 `FileList` 객체를 배열로 변환한 후에는 배열 메서드를 사용할 수 있습니다.
예를 들어, 아래의 코드는 `FileList` 객체를 배열로 변환한 후 `forEach()` 메서드를 사용하여 각 파일의 이름을 출력합니다:
```javascript
var fileInput = document.getElementById('myFileInput');
var files = Array.from(fileInput.files);
files.forEach(function(file) {
console.log(file.name);
});
```
위의 예시에서 `fileInput.files`는 `FileList` 객체를 반환하고, `Array.from(fileInput.files)`를 사용하여 `FileList` 객체를 배열로 변환하였습니다. 그리고 `forEach()` 메서드를 사용하여 각 파일의 이름을 출력하였습니다.
'WEB > Javascript' 카테고리의 다른 글
sha256 해시 함수를 적용할때 쓰는 스크립트 (0) | 2023.07.06 |
---|---|
몇초전,몇분전,몇시간전 표시하는 자바스크립트 소스코드! (0) | 2023.07.05 |
getElementById()와 querySelector() 차이점 (0) | 2023.06.21 |
[jquery] input file 받을때 주의할점, jquery객체와 DOM객체 (0) | 2023.05.24 |
업로드 버튼으로 파일 불러오기 (input file 없이 업로드하기) (0) | 2023.05.23 |