Flask file upload

sunj - May 10 - - Dev Community
#html form에 입력

enctype="multipart/form-data"
Enter fullscreen mode Exit fullscreen mode
from flask import request

@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        f = request.files['the_file']
        f.save(secure_filename(f.filename)
    ...
Enter fullscreen mode Exit fullscreen mode

request.files -> html form에서 input type='file' name ='file'로 전송된 파일

secure_filename(f.filename) -> 해당 파일명을 보호

f.save 파일 객체를 저장
파일명만 인자로 주면 routes.py와 같은 경로에 저장되게 되지만, 인자를 요런 느낌으로 주면 원하는 폴더에 저장할 수 있다.

 f.save("./img/" + secure_filename(f.filename))
Enter fullscreen mode Exit fullscreen mode
#파일 용량 제한

from flask import Flask, Request

app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024
Enter fullscreen mode Exit fullscreen mode

16MB로 제한한 것

참조 : https://flask-docs-kr.readthedocs.io/ko/latest/quickstart.html#id11
https://blog.naver.com/shino1025/221361074139

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .