[javascript] Ember.js로 파일 업로드를 어떻게 구현하나요?
Ember.js로 파일 업로드를 구현하는 것은 상대적으로 간단합니다. Ember.js는 파일 업로드를 처리하기 위한 강력한 기능을 제공합니다.
먼저, Ember.js 애플리케이션에 파일을 업로드하는 데 사용할 수 있는 파일 선택(input type=”file”) 폼 요소를 생성해야 합니다. 예를 들어, 다음과 같이 HTML 파일에서 폼 요소를 생성할 수 있습니다.
<form >
<input type="file" id="file-input" onchange=>
<button type="submit">Upload</button>
</form>
그런 다음, Ember.js 컨트롤러에서 “handleFileSelection” 액션을 정의하여 파일 선택 이벤트를 처리할 수 있습니다. 이 액션에서는 파일을 선택하면 선택한 파일을 읽고 필요한 작업을 수행해야 합니다. 예를 들어, 다음은 파일을 읽고 파일의 내용을 콘솔에 로그하는 “handleFileSelection” 액션의 예입니다.
import Controller from '@ember/controller';
import { action } from '@ember/object';
export default class MyController extends Controller {
@action
handleFileSelection(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = event => {
const fileContent = event.target.result;
console.log(fileContent);
};
reader.readAsText(file);
}
}
마지막으로, 파일을 서버로 업로드해야 하는 경우 “uploadFile” 액션을 정의하여 파일을 서버로 전송할 수 있습니다. 이 액션에서는 파일 전송을 위해 AJAX 요청을 보내고 응답을 처리해야 합니다.
import Controller from '@ember/controller';
import { action } from '@ember/object';
export default class MyController extends Controller {
@action
uploadFile(event) {
event.preventDefault();
const file = event.target.files[0];
const formData = new FormData();
formData.append('file', file);
Ember.$.ajax({
url: '/upload',
method: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(response) {
console.log('File uploaded successfully');
},
error: function(error) {
console.log('Error uploading file');
}
});
}
}
이제 Ember.js 애플리케이션에서 파일 업로드를 구현하는 데 필요한 기본 사항을 알고 있습니다. 이를 기반으로 파일 업로드를 확장하거나 사용자에게 더 나은 경험을 제공할 수 있습니다. Ember.js 공식 문서를 참조하여 더 많은 정보를 얻을 수 있습니다.
참고 자료: