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 (
|
||||
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
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:
|
||||
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": "Фото успешно загружено!",
|
||||
|
||||
Reference in New Issue
Block a user