add files router and update image URL path
This commit is contained in:
@ -3,7 +3,8 @@ from fastapi import APIRouter
|
|||||||
from app.api.v1 import (
|
from app.api.v1 import (
|
||||||
project, board, client, service, product, barcode, deal,
|
project, board, client, service, product, barcode, deal,
|
||||||
shipping_warehouse, statistics, user, role, marketplace,
|
shipping_warehouse, statistics, user, role, marketplace,
|
||||||
residues, department, position, payroll, status, auth, task, billing, work_shifts, transaction, time_tracking, shipping
|
residues, department, position, payroll, status, auth, task, billing, work_shifts, transaction, time_tracking,
|
||||||
|
shipping, files
|
||||||
)
|
)
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
@ -33,3 +34,4 @@ router.include_router(time_tracking.router, prefix='/time-tracking')
|
|||||||
router.include_router(transaction.router, prefix='/transaction')
|
router.include_router(transaction.router, prefix='/transaction')
|
||||||
router.include_router(user.router, prefix='/user')
|
router.include_router(user.router, prefix='/user')
|
||||||
router.include_router(work_shifts.router, prefix='/work-shifts')
|
router.include_router(work_shifts.router, prefix='/work-shifts')
|
||||||
|
router.include_router(files.router, prefix='/files')
|
||||||
|
|||||||
21
app/api/v1/files.py
Normal file
21
app/api/v1/files.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
from fastapi import APIRouter, HTTPException
|
||||||
|
from starlette.responses import FileResponse
|
||||||
|
|
||||||
|
from app.api.v1.product.images import PRODUCTS_FOLDER
|
||||||
|
|
||||||
|
router = APIRouter(
|
||||||
|
prefix="/files",
|
||||||
|
tags=["Files"]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@router.get('/images/{file_name}', response_class=FileResponse)
|
||||||
|
async def get_image(file_name: str):
|
||||||
|
products_folder = PRODUCTS_FOLDER
|
||||||
|
file_path = os.path.join(products_folder, file_name)
|
||||||
|
if not os.path.exists(file_path):
|
||||||
|
raise HTTPException(status_code=404, detail="File not found")
|
||||||
|
|
||||||
|
return FileResponse(file_path)
|
||||||
@ -32,7 +32,7 @@ async def upload_product_image(
|
|||||||
with open(file_path, "wb") as file:
|
with open(file_path, "wb") as file:
|
||||||
file.write(await upload_file.read())
|
file.write(await upload_file.read())
|
||||||
|
|
||||||
image_url = f"{str(request.base_url).rstrip('/')}/api/files/images/{filename}"
|
image_url = f"{str(request.base_url).rstrip('/')}/api/v1/files/images/{filename}"
|
||||||
return response({
|
return response({
|
||||||
"imageUrl": image_url,
|
"imageUrl": image_url,
|
||||||
"message": "Фото успешно загружено!",
|
"message": "Фото успешно загружено!",
|
||||||
|
|||||||
Reference in New Issue
Block a user