提问人:Princy 提问时间:11/4/2023 最后编辑:Brian Tompsett - 汤莱恩Princy 更新时间:11/4/2023 访问量:65
FastAPI 用于文件上传,minio 用于存储和共享链接
FastAPI for file upload and minio for storage and share link
问:
@router.post("/upload_image",tags=['Upload Endpoints'])
async def upload_profile(file: UploadFile, user: User =Depends(get_current_user),db:Session=Depends(get_db)):
'''Endpoint for profile image'''
if is_profile_acceptable(file.filename):
f = await file.read()
if len(f) >= 5242880 :
raise HTTPException(400,detail="File size exceeds 5 Mb!")
extension = file.filename.split('.')[-1]
file_name=file.filename.split('.')[-2]
profile = "profile"
up_name = f"{file_name}-{profile}.{extension}"
file = io.BytesIO(f)
profile_image = upload_file(file ,up_name,'profile-image',2)
user = db.query(User).filter(User.id == user.id).first()
if not user:
return {"message": "User not found"}
user.profile_minio_url = profile_image
db.commit()
# User.profile_minio_url = profile_image
return JSONResponse(content={"url": profile_image})
else:
return JSONResponse({"detail":"Invalid file format"})
我已经编写了一个用于文件上传的端点,它将从 minio 放置和获取 URL,但前端团队将如何处理它。我想知道这是返回 URL 的方法,前端团队将毫无问题地获得它。
答: 暂无答案
评论