웹 애플리케이션을 개발할 때 파일 업로드 기능은 매우 중요합니다. 사용자가 웹 서버에 파일을 업로드할 수 있도록 하는 기능은 다양한 용도로 활용될 수 있습니다. 이번 글에서는 Python을 사용하여 웹 서버에 파일 업로드 기능을 추가하는 방법에 대해 알아보겠습니다.
1. Flask 설치하기
파일 업로드를 위해 Flask 프레임워크를 사용합니다. Flask는 Python 웹 프레임워크로, 가볍고 간단한 문법으로 웹 애플리케이션을 쉽게 개발할 수 있습니다. Flask를 설치하기 위해서는 다음 명령어를 사용합니다:
pip install flask
2. HTML 파일 업로드 폼 생성하기
파일 업로드를 위해 사용자에게 파일 선택 폼을 제공해야 합니다. HTML에서 파일 업로드 폼을 생성하려면 <input>
태그의 type
속성을 file
로 설정하면 됩니다. 아래는 파일 업로드 폼을 생성하는 예제입니다:
<!DOCTYPE html>
<html>
<head>
<title>파일 업로드</title>
</head>
<body>
<h1>파일 업로드</h1>
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="업로드">
</form>
</body>
</html>
3. Flask 웹 서버 생성하기
이제 Flask를 사용하여 웹 서버를 생성하고 파일을 업로드할 수 있는 경로를 설정해보겠습니다. 아래는 간단한 Flask 웹 서버 예제입니다:
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file'] # 업로드된 파일 가져오기
if file:
filename = file.filename
file.save(filename) # 파일 저장하기
return '파일이 성공적으로 업로드되었습니다.'
return '파일 업로드에 실패했습니다.'
if __name__ == '__main__':
app.run()
4. 웹 서버 실행하기
이제 Flask 웹 서버를 실행하여 파일 업로드 기능을 테스트해보겠습니다. 다음 명령어를 입력하여 웹 서버를 실행합니다:
python app.py
웹 브라우저에서 http://localhost:5000
을 열고, 파일 선택 후 ‘업로드’ 버튼을 클릭해보세요. 업로드된 파일은 웹 서버와 같은 디렉토리에 저장됩니다.
결론
위의 단계를 따라하면 Python을 사용하여 웹 서버에 파일 업로드 기능을 추가할 수 있습니다. Flask를 사용하면 간단한 문법으로 파일 업로드 기능을 구현할 수 있으며, 업로드된 파일은 웹 서버와 같은 디렉토리에 저장됩니다.