웹/FastAPI

[FastAPI] 이미지 파일 업로드하기

2021. 1. 28. 22:06
목차
  1. Uploding Image File
  2. 1.
  3. 2.
  4. 3.
  5. 4.
  6. 5.

Uploding Image File

이미지 파일을 업로드한 뒤, 서버에서 해당 파일에 접근할 수 있는 기능을 구현하고자 했다.

많은 삽질 끝에 하긴 했지만 상당한 리팩토링이 필요할 것 같다.

 

1.

먼저 로컬에서 파일이 저장될 경로와 파일에 접근할 수 있는 url을 선언한다.

현재 경로는 backend/routes/menu.py고 로컬에서 파일이 저장될 경로는 backend/static/images이다.

 

path & url (menu.py)

2.

요청로부터 이미지 파일을 받기 위해 File과 UploadFile을 import한다.

UploadFile은 유효성 검사를 해주는데, 에러를 검출해주기 때문에 유용하다.

parameters (menu.py)

3.

기존 작성해둔 스키마에선 이미지에 NULL을 허용했다.

따라서 이미지 파일이 존재하는지 확인한 후, 파일이 있다면 해당 파일을 로컬에 저장해두고 경로에 추가한다.

FastAPI에서 파일을 저장하기 위해선 shutil모듈을 사용해야 한다. 

levelup.gitconnected.com/how-to-save-uploaded-files-in-fastapi-90786851f1d3

file save (menu.py)
access api (main.py)

4.

폼 데이터를 전송한다(Postman or Swagger UI 모두 가능).

Postman

5.

정상적으로 저장이 되었고 url을 통한 접근이 가능함을 확인할 수 있다.

local
url

저작자표시 비영리 (새창열림)

'웹 > FastAPI' 카테고리의 다른 글

[FastAPI] Query Parameters에 리스트 전달하기  (0) 2021.01.20
[FastAPI] DB(MySQL) 연결하기  (0) 2021.01.18
[FastAPI] FastAPI란?  (0) 2021.01.06
  1. Uploding Image File
  2. 1.
  3. 2.
  4. 3.
  5. 4.
  6. 5.
'웹/FastAPI' 카테고리의 다른 글
  • [FastAPI] Query Parameters에 리스트 전달하기
  • [FastAPI] DB(MySQL) 연결하기
  • [FastAPI] FastAPI란?
코택
코택
TaxFree코택 님의 블로그입니다.
코택
TaxFree
코택
전체
오늘
어제
  • 분류 전체보기 (369)
    • Spring (29)
      • Spring (18)
      • 스프링 핵심 원리 - 고급편 (11)
    • Spring Batch (4)
    • JPA (4)
    • CS (89)
      • 자료구조 (2)
      • 네트워크 (5)
      • 운영체제 (1)
      • 데이터베이스 (4)
      • SQL (7)
      • 알고리즘 이론 (4)
      • 알고리즘 문제 풀이 (66)
    • 웹 (28)
      • React.js (4)
      • Next.js (1)
      • Node.js (14)
      • FastAPI (4)
      • Django (5)
    • 프로그래밍 언어 (45)
      • Python (5)
      • Java + Kotlin (29)
      • JavaScript + TypeScript (11)
    • 테스트코드 (26)
      • ATDD, 클린 코드 with Spring (4)
      • 이규원의 현실 세상의 TDD: 안정감을 주는 코드.. (20)
    • 인프라 (6)
      • AWS (2)
      • Kubernetes (4)
    • 트러블슈팅 (25)
    • 책 (89)
      • Effective Java (54)
      • Effective Kotlin (14)
      • 도메인 주도 개발 시작하기: DDD 핵심 개념 정.. (11)
      • 웹 프로그래머를 위한 데이터베이스를 지탱하는 기술 (6)
      • 도메인 주도 설계 첫걸음 (4)
    • Git (10)
    • 회고 (5)
    • etc (8)

블로그 메뉴

  • 홈
  • 방명록
  • 관리
  • GitHub
  • LinkedIn

공지사항

  • 스킨 관련

인기 글

태그

  • 백준
  • atdd
  • mysql
  • 브루트포스
  • 파이썬
  • BOJ
  • dp
  • Git
  • http
  • 장고
  • 그래프
  • 그래프 탐색
  • Shortest Path
  • fastapi
  • 깊이 우선 탐색

최근 댓글

최근 글

hELLO · Designed By 정상우.
코택
[FastAPI] 이미지 파일 업로드하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.