Skip to content

Commit 37a3de0

Browse files
committed
fix
1 parent 72b25ab commit 37a3de0

File tree

2 files changed

+37
-24
lines changed

2 files changed

+37
-24
lines changed

backend/open_webui/routers/files.py

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,17 @@ def upload_file(
144144
metadata: Optional[dict | str] = Form(None),
145145
process: bool = Query(True),
146146
user=Depends(get_verified_user),
147+
):
148+
return upload_file_handler(request, file, metadata, process, user, background_tasks)
149+
150+
151+
def upload_file_handler(
152+
request: Request,
153+
file: UploadFile = File(...),
154+
metadata: Optional[dict | str] = Form(None),
155+
process: bool = Query(True),
156+
user=Depends(get_verified_user),
157+
background_tasks: Optional[BackgroundTasks] = None,
147158
):
148159
log.info(f"file.content_type: {file.content_type}")
149160

@@ -214,16 +225,27 @@ def upload_file(
214225
)
215226

216227
if process:
217-
background_tasks.add_task(
218-
process_uploaded_file,
219-
request,
220-
file,
221-
file_path,
222-
file_item,
223-
file_metadata,
224-
user,
225-
)
226-
return {"status": True, **file_item.model_dump()}
228+
if background_tasks:
229+
background_tasks.add_task(
230+
process_uploaded_file,
231+
request,
232+
file,
233+
file_path,
234+
file_item,
235+
file_metadata,
236+
user,
237+
)
238+
return {"status": True, **file_item.model_dump()}
239+
else:
240+
process_uploaded_file(
241+
request,
242+
file,
243+
file_path,
244+
file_item,
245+
file_metadata,
246+
user,
247+
)
248+
return {"status": True, **file_item.model_dump()}
227249
else:
228250
if file_item:
229251
return file_item

backend/open_webui/routers/images.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,12 @@
1616
HTTPException,
1717
Request,
1818
UploadFile,
19-
BackgroundTasks,
2019
)
2120

2221
from open_webui.config import CACHE_DIR
2322
from open_webui.constants import ERROR_MESSAGES
2423
from open_webui.env import ENABLE_FORWARD_USER_INFO_HEADERS, SRC_LOG_LEVELS
25-
from open_webui.routers.files import upload_file
24+
from open_webui.routers.files import upload_file_handler
2625
from open_webui.utils.auth import get_admin_user, get_verified_user
2726
from open_webui.utils.images.comfyui import (
2827
ComfyUIGenerateImageForm,
@@ -468,7 +467,7 @@ def load_url_image_data(url, headers=None):
468467
return None
469468

470469

471-
def upload_image(request, background_tasks, image_data, content_type, metadata, user):
470+
def upload_image(request, image_data, content_type, metadata, user):
472471
image_format = mimetypes.guess_extension(content_type)
473472
file = UploadFile(
474473
file=io.BytesIO(image_data),
@@ -477,9 +476,8 @@ def upload_image(request, background_tasks, image_data, content_type, metadata,
477476
"content-type": content_type,
478477
},
479478
)
480-
file_item = upload_file(
479+
file_item = upload_file_handler(
481480
request,
482-
background_tasks,
483481
file=file,
484482
metadata=metadata,
485483
process=False,
@@ -492,7 +490,6 @@ def upload_image(request, background_tasks, image_data, content_type, metadata,
492490
@router.post("/generations")
493491
async def image_generations(
494492
request: Request,
495-
background_tasks: BackgroundTasks,
496493
form_data: GenerateImageForm,
497494
user=Depends(get_verified_user),
498495
):
@@ -566,9 +563,7 @@ async def image_generations(
566563
else:
567564
image_data, content_type = load_b64_image_data(image["b64_json"])
568565

569-
url = upload_image(
570-
request, background_tasks, image_data, content_type, data, user
571-
)
566+
url = upload_image(request, image_data, content_type, data, user)
572567
images.append({"url": url})
573568
return images
574569

@@ -602,9 +597,7 @@ async def image_generations(
602597
image_data, content_type = load_b64_image_data(
603598
image["bytesBase64Encoded"]
604599
)
605-
url = upload_image(
606-
request, background_tasks, image_data, content_type, data, user
607-
)
600+
url = upload_image(request, image_data, content_type, data, user)
608601
images.append({"url": url})
609602

610603
return images
@@ -655,7 +648,6 @@ async def image_generations(
655648
image_data, content_type = load_url_image_data(image["url"], headers)
656649
url = upload_image(
657650
request,
658-
background_tasks,
659651
image_data,
660652
content_type,
661653
form_data.model_dump(exclude_none=True),
@@ -709,7 +701,6 @@ async def image_generations(
709701
image_data, content_type = load_b64_image_data(image)
710702
url = upload_image(
711703
request,
712-
background_tasks,
713704
image_data,
714705
content_type,
715706
{**data, "info": res["info"]},

0 commit comments

Comments
 (0)