inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 Streamlit 실전: 업무 자동화 웹 서비스 만들기

여러 장의 이미지를 업로드 해서 출력하기

[16_picture.py]업로드 디렉토리

243

류재안

작성한 질문수 58

0

안녕하세요.

여러장의 이미지를 업로드해서 출력하기 내용중에,

16_picture.py

코드 상으로는 업로드 디렉토리를 지정하는 것이 없고 업로드 후에 이미지들을 찾아봐도 안보이는데요.

임시 저장 공간에 저장이 되는 건가요?

image.png

 

python mongodb streamlit

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

Streamlit에서 파일을 업로드할 때 일반적으로 업로드된 파일은 서버의 임시 디렉토리에 저장됩니다. 이 임시 저장소는 Streamlit 애플리케이션을 재시작하면 초기화됩니다. 따라서, 업로드 후에 직접 지정한 저장 경로를 찾지 못하는 경우가 많습니다. 업로드한 파일을 서버에 영구적으로 저장하려면, 파일을 받은 후 서버의 지정된 경로에 파일을 명시적으로 저장하는 코드를 추가해야 합니다.

예를 들어, Streamlit에서 파일 업로더를 통해 업로드된 파일들을 처리하는 방법 중 하나는 파일들을 반복적으로 순회하며, 각 파일을 읽고 서버의 특정 디렉토리에 저장하는 것입니다. Python의 내장 함수인 open()을 이용하고, with 구문을 사용해 파일을 오픈한 다음, 업로드된 파일의 내용(uploaded_file.getvalue())을 읽어 서버의 원하는 위치에 저장할 수 있습니다.

다음은 기본적인 예시 코드입니다.

import streamlit as st
import os

uploaded_files = st.file_uploader("파일을 올려주세요.", accept_multiple_files=True)
for uploaded_file in uploaded_files:
    if uploaded_file is not None:
        # 업로드된 파일을 저장할 디렉토리 지정
        save_path = os.path.join('path/to/save', uploaded_file.name)
        # 파일을 저장
        with open(save_path, "wb") as f:
            f.write(uploaded_file.getbuffer())

위 코드에서 'path/to/save'는 업로드된 파일을 저장하고자 하는 서버 내의 경로입니다. 여러분의 환경에 맞게 변경해야 합니다. Streamlit 애플리케이션에서 파일을 영구적으로 관리하고자 한다면, 해당 방식으로 업로드된 파일을 처리해야 합니다.

질문하신 부분에 대한 답이 되었길 바랍니다.

0

류재안

딱 원하는 답글이었습니다. 감사합니다.

25-2 분기커버리지

0

12

0

25-2 이론 재탕

0

16

1

25-1 이론 재탕

0

14

1

강의 잘보고 있습니다. 강의 파일을 어디서 찾아야 되는지 몰라서 여쭤 봅니다.

0

12

1

서브넷 마스크

0

20

1

모의고사 1회 계산문제 2개 맞았는데

0

34

2

기존 미국주식 자동매매 프로그램과 같은 AWS 서버에서 돌리려고 할때

1

24

1

안녕하세요? 강사님 질문있습니다.(인코딩관련)

0

45

2

강의자료 문의

0

35

1

업캐스팅 문제 예시 4번 부모 호출

0

39

1

강의자료 링크 열리지 않음.

0

39

2

이진분류에서 양성 클래스가 0일 때 평가 방법

0

39

2

모의고사 자료 해설이 너무 불친절하네요.

0

78

2

부모의 생성자 출력 관련

0

38

2

24-3 이론파트 재탕문제

0

39

0

누락코드

0

38

1

다차원 배열 포인터 질문있습니다

0

53

3

원핫인코딩 전 train과 test 병합여부

0

44

2

Streamlit 오류

-1

394

2

OMDb API Url

0

245

1

강의 자료는 어떻게 볼 수 있어요?

0

349

2

강의 자료 링크(노션) 자료

0

377

1

강의에서 사용하는 로그 파일 자료 어디서 다운로드 받나요?

0

401

1

섹션1강의자료요청

0

273

1