728x90
오늘은 이전에 만들어 두었던 파일 업로드 브랜치로 가서 최신 커밋까지 rebase를 시켜서 다음 기능을 만들어보자
git switch feature/file-upload 로 해당 브랜치로 이동하고
git rebase develop 해서 rebase 해준다.!!!
그리고 프론트 인원의 탈주.. 1주일남았는데.. ㅎㅎ
이제 남은 기능들이
요 4개다 아마도..
위에 3개는 다 파일업로드 쪽이라 기본적인 코드는 다 똑같다
main.py
# 상단에 user_model 추가
from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info, get_models, get_my_models, create_model, get_model, user_image, email_code, check_email_code, user_image, user_model
@app.post("/models/{modelId}/model")
async def update_file_model(modelId: int, file: UploadFile, db: Session = Depends(get_db)):
file_path = await file.read()
s3_file_name = 'images/' + file.filename
s3_url = upload_to_s3(file_path, s3_file_name)
file.filename = s3_url
user_model(db, user_id = userId, image = file.filename)
return JSONResponse(content={"message": "프로필 이미지가 수정되었습니다."}, status_code=200)
crud.py
def user_model(db: Session, model_id: int, model: str):
user = db.query(User).filter(User.id == user_id).first()
user.image = image
db.commit()
return user
으로 임시로 코드를 복붙해주고!!
이제 각 파일에서 수정해야될 부분을 수정해보자
main.py 에서 images 폴더가 아닌 models 폴더에 업로드 해줘야 하니 수정하고 문구도 수정해주자
@app.post("/models/{modelId}/model")
async def update_file_model(modelId: int, file: UploadFile, db: Session = Depends(get_db)):
file_path = await file.read()
s3_file_name = 'models/' + file.filename
s3_url = upload_to_s3(file_path, s3_file_name)
file.filename = s3_url
user_model(db, model_id = modelId, model = file.filename)
return JSONResponse(content={"message": "모델 파일 업로드가 완료되었습니다."}, status_code=200)
crud.py 에서도 User 테이블이 아닌 Model 테이블이니까 이부분을 수정해주고 file 컬럼에 S3 주소가 들어가야 돼니 수정해주자
def user_model(db: Session, model_id: int, model: str):
db_model = db.query(Model).filter(Model.id == model_id).first()
db_model.file = model
db.commit()
return db_model
이렇게 해주고 테스트를 해보면
정상적으로 업로드 되고 db에도 S3 주소가 들어갔다.
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.
'코딩캠프 > AI 웹개발 취업캠프' 카테고리의 다른 글
[AI 웹개발 취업캠프] 76Day - 프로젝트 27일차 (0) | 2023.11.07 |
---|---|
[AI 웹개발 취업캠프] 75Day - 프로젝트 26일차 (2) | 2023.11.06 |
[AI 웹개발 취업캠프] 73Day - 프로젝트 24일차 (0) | 2023.11.02 |
[AI 웹개발 취업캠프] 72Day - 프로젝트 23일차 (0) | 2023.11.01 |
[AI 웹개발 취업캠프] 71Day - 프로젝트 22일차 (0) | 2023.10.31 |