[16_picture.py]업로드 디렉토리
196
작성한 질문수 58
안녕하세요.
여러장의 이미지를 업로드해서 출력하기 내용중에,
16_picture.py
코드 상으로는 업로드 디렉토리를 지정하는 것이 없고 업로드 후에 이미지들을 찾아봐도 안보이는데요.
임시 저장 공간에 저장이 되는 건가요?

답변 1
0
안녕하세요, 인프런 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 애플리케이션에서 파일을 영구적으로 관리하고자 한다면, 해당 방식으로 업로드된 파일을 처리해야 합니다.
질문하신 부분에 대한 답이 되었길 바랍니다.
작업형 1 (삭제예정, 구 버전)
0
19
1
강의노트는 어디있나요?
0
9
0
노션 학습 자료 권한 요청
0
10
1
수강기간 연장 문의드립니다.
0
14
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
18
3
part2강의 문의사항입니다.
0
14
2
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
25
2
코드를 첨부해야하는 이유가 있나요?
0
20
2
소리가 겹쳐서 들려요
0
17
2
데스크톱과 노트북 연결
0
24
1
dict, zip
0
21
2
노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.
0
27
4
6-6 실습 문의
0
21
2
미션 06-02
0
21
2
yes24 수집 md 파일 만들 때
0
20
2
python main.py 실행시 게임이 실행이 안돼요
0
21
2
antigravity 대신 cursor를 활용해도 되나요?
0
25
1
Streamlit 오류
-1
332
1
OMDb API Url
0
203
1
강의 자료는 어떻게 볼 수 있어요?
0
295
2
강의 자료 링크(노션) 자료
0
329
1
강의에서 사용하는 로그 파일 자료 어디서 다운로드 받나요?
0
356
1
섹션1강의자료요청
0
238
1





