[python] 웹 서버에 파일 업로드 기능 추가하기

웹 애플리케이션을 개발할 때 파일 업로드 기능은 매우 중요합니다. 사용자가 웹 서버에 파일을 업로드할 수 있도록 하는 기능은 다양한 용도로 활용될 수 있습니다. 이번 글에서는 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를 사용하면 간단한 문법으로 파일 업로드 기능을 구현할 수 있으며, 업로드된 파일은 웹 서버와 같은 디렉토리에 저장됩니다.