add files router and update image URL path

This commit is contained in:
2025-08-11 16:13:01 +03:00
parent d25280f368
commit 81a2d1036b
3 changed files with 25 additions and 2 deletions

View File

@ -3,7 +3,8 @@ from fastapi import APIRouter
from app.api.v1 import (
project, board, client, service, product, barcode, deal,
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()
@ -33,3 +34,4 @@ router.include_router(time_tracking.router, prefix='/time-tracking')
router.include_router(transaction.router, prefix='/transaction')
router.include_router(user.router, prefix='/user')
router.include_router(work_shifts.router, prefix='/work-shifts')
router.include_router(files.router, prefix='/files')

21
app/api/v1/files.py Normal file
View 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)

View File

@ -32,7 +32,7 @@ async def upload_product_image(
with open(file_path, "wb") as file:
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({
"imageUrl": image_url,
"message": "Фото успешно загружено!",