[python] Flask-RESTful에서 파일 다운로드 기능 구현 방법

Flask-RESTful은 파이썬 웹 프레임워크인 Flask를 기반으로 한 RESTful API 개발을 쉽게 할 수 있도록 도와주는 라이브러리입니다. 이번에는 Flask-RESTful을 사용하여 파일 다운로드 기능을 구현하는 방법에 대해 알아보겠습니다.

1. Flask-RESTful 설치하기

먼저 Flask-RESTful을 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install flask-restful

2. 파일 다운로드 API 만들기

Flask-RESTful을 사용하여 파일 다운로드 API를 만들기 위해 아래와 같이 코드를 작성해보겠습니다.

from flask import Flask, send_file
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class FileDownloadAPI(Resource):
    def get(self):
        # 다운로드할 파일 경로 설정
        file_path = '/path/to/file.pdf'

        # 파일 다운로드
        return send_file(file_path, as_attachment=True)

api.add_resource(FileDownloadAPI, '/download')

if __name__ == '__main__':
    app.run(debug=True)

위 코드에서는 Flask와 Flask-RESTful을 import 하고, 애플리케이션과 API 객체를 생성합니다. 그리고 FileDownloadAPI 클래스를 생성하여 GET 메서드를 구현합니다. 이 GET 메서드에서는 다운로드할 파일의 경로를 설정하고, send_file 함수를 사용하여 파일을 다운로드합니다.

마지막으로, API 객체에 FileDownloadAPI 클래스를 등록하고, 애플리케이션을 실행시킵니다.

3. 파일 다운로드 API 테스트하기

API를 테스트하기 위해 아래의 명령어를 사용하여 실행합니다.

python app.py

웹 브라우저나 API 테스트 도구를 사용하여 http://localhost:5000/download 주소에 접속하면 파일이 다운로드되는 것을 확인할 수 있습니다.

결론

이번에는 Flask-RESTful을 사용하여 파일 다운로드 기능을 구현하는 방법에 대해 알아보았습니다. Flask-RESTful을 사용하면 간편하게 RESTful API를 개발할 수 있으며, 파일 다운로드와 같은 기능을 손쉽게 추가할 수 있습니다. Flask-RESTful을 적절히 활용하여 웹 애플리케이션 개발을 효율적으로 진행해보세요.

참고 문서: