[javascript] Angular에서의 자바스크립트 파일 업로드 기능 구현 방법
Angular를 사용하여 웹 애플리케이션을 개발할 때 파일 업로드 기능은 중요한 요소입니다. 사용자가 파일을 선택하고 서버로 업로드하는 기능을 구현하는 방법에 대해 알아보겠습니다.
1. HTML 입력 요소 추가
파일을 선택할 수 있는 HTML 입력 요소를 추가합니다.
<input type="file" (change)="onFileSelected($event)" />
2. 컴포넌트에서 파일 선택 이벤트 핸들링
Angular 컴포넌트에서 선택된 파일을 처리하는 로직을 추가합니다.
onFileSelected(event) {
this.selectedFile = <File>event.target.files[0];
}
3. 서버로 파일 업로드
선택된 파일을 서버에 업로드하는 메서드를 추가합니다. 이를 위해 HttpClient
모듈을 사용하여 POST 요청을 보냅니다.
uploadFile() {
const formData = new FormData();
formData.append('file', this.selectedFile, this.selectedFile.name);
this.http.post('http://example.com/upload', formData)
.subscribe(response => {
console.log('File uploaded successfully', response);
});
}
4. UI에 업로드 버튼 추가
사용자가 파일을 선택한 후 업로드할 수 있는 버튼을 추가합니다.
<button (click)="uploadFile()">Upload</button>
이제 Angular 애플리케이션에서 파일 업로드 기능을 구현했습니다.
위의 코드는 기본적인 파일 업로드 동작을 구현한 예시이며, 실제 프로젝트에서 보다 안전하고 유연한 파일 업로드를 위해서는 추가적인 보안 및 오류 처리 로직이 필요합니다.
더 많은 정보를 원하시면 Angular 공식 문서를 참고하시기 바랍니다.