cors
This commit is contained in:
@ -4,6 +4,8 @@ from fastapi import Depends, FastAPI
|
|||||||
from .routers import image
|
from .routers import image
|
||||||
# from . import models
|
# from . import models
|
||||||
from .sql.database import engine, Base
|
from .sql.database import engine, Base
|
||||||
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
|
|
||||||
|
|
||||||
Base.metadata.create_all(bind=engine)
|
Base.metadata.create_all(bind=engine)
|
||||||
|
|
||||||
@ -13,6 +15,16 @@ Base.metadata.create_all(bind=engine)
|
|||||||
# app = FastAPI(dependencies=[Depends(get_query_token)])
|
# app = FastAPI(dependencies=[Depends(get_query_token)])
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
|
origins = [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
app.add_middleware(
|
||||||
|
CORSMiddleware,
|
||||||
|
allow_origins=origins,
|
||||||
|
allow_credentials=True,
|
||||||
|
allow_methods=["*"],
|
||||||
|
allow_headers=["*"],
|
||||||
|
)
|
||||||
|
|
||||||
app.include_router(image.router)
|
app.include_router(image.router)
|
||||||
|
|
||||||
|
@ -50,6 +50,29 @@ def get_image(store_name: str, y: str, m: str, d: str, db: Session = Depends(get
|
|||||||
return StreamingResponse(content=img_resp, media_type=media_type, headers={'Content-Disposition': f'inline; filename={ori_file_name}'})
|
return StreamingResponse(content=img_resp, media_type=media_type, headers={'Content-Disposition': f'inline; filename={ori_file_name}'})
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/image/thumbnail/{y}/{m}/{d}/{store_name}", tags=['图片'])
|
||||||
|
def get_image_thumb(store_name: str, y: str, m: str, d: str, db: Session = Depends(get_db)):
|
||||||
|
image_path = Path(Path.home()).joinpath(
|
||||||
|
'Pictures').joinpath('upload_images').joinpath(f'{y}/{m}/{d}').joinpath(store_name)
|
||||||
|
try:
|
||||||
|
img_pil = Image.open(image_path)
|
||||||
|
except:
|
||||||
|
raise HTTPException(status_code=404, detail="没有找到图片")
|
||||||
|
media_type = mimetypes.guess_type(store_name)[0]
|
||||||
|
img_pil_buffer = BytesIO()
|
||||||
|
print(img_pil.size[1])
|
||||||
|
img_pil.thumbnail((512, img_pil.size[1]))
|
||||||
|
img_pil.save(img_pil_buffer, format=img_pil.format)
|
||||||
|
img_pil.close()
|
||||||
|
img_resp = BytesIO(img_pil_buffer.getvalue())
|
||||||
|
try:
|
||||||
|
ori_file_name = crud.get_pic_by_path(
|
||||||
|
db, file_path=f'{y}/{m}/{d}/{store_name}').file_name
|
||||||
|
except:
|
||||||
|
raise HTTPException(status_code=500, detail="无法连接数据库")
|
||||||
|
return StreamingResponse(content=img_resp, media_type=media_type, headers={'Content-Disposition': f'inline; filename={ori_file_name}'})
|
||||||
|
|
||||||
|
|
||||||
@router.post("/image/upload", response_model=schemas.image.Image, tags=['图片'])
|
@router.post("/image/upload", response_model=schemas.image.Image, tags=['图片'])
|
||||||
async def create_pic(pic: UploadFile, db: Session = Depends(get_db)):
|
async def create_pic(pic: UploadFile, db: Session = Depends(get_db)):
|
||||||
allowFileType = ["image/jpeg", "image/gif", "image/png"]
|
allowFileType = ["image/jpeg", "image/gif", "image/png"]
|
||||||
|
Reference in New Issue
Block a user