on
Flask - Html 파일/이미지 전송
Flask - Html 파일/이미지 전송
반응형
지금은 페이지에서 파일을 업로드하고 서버에 저장하는 작업을 진행해보자.
파일 선택 - 업로드의 간단한 페이지이니 따로 html을 만들기보단
직접 return에 html을 작성하자
@app_fun.route('/file_upload') def file(): return ''' '''
위와 같은 화면이 나온다.
파일을 선택해서 제출하게되면 form action의 url로 post 방식으로 데이터를 전달한다.
파일을 담아서 던져줘야하기때문에 enctype = "multipart/form-data" 를 명시해주자.
같은 url에 get / post를 이용해서 다른 기능을 구현해보자.
@app_fun.route('/file_upload',methods = ['GET','POST']) def file(): return ''' '''
methods가 추가된 것을 볼 수 있다.
전달된 파일은 request.files로 전달되고,
ImmutableMultiDict([('file', )])
이렇게 전달된다.
우리는 file을 담아 저장하면 되니 아래와 같이 바이트로 읽은 뒤 with open을 이용해서 저장하자.
@app_fun.route('/file_upload',methods = ['GET','POST']) def file(): if request.method == 'POST': file = request.files['file'] f = file.read() name = file.filename with open(name,'wb') as F: F.write(f) return redirect(main) return ''' '''
반응형
from http://kkiho.tistory.com/23 by ccl(A) rewrite - 2021-11-18 12:00:51