Fix broken data stream when writing image file (#9354)

### What problem does this PR solve?

fix "broken data stream when writing image file", just log warning and
ignore

Close #8379 

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Jay Xu
2025-08-11 17:07:49 +08:00
committed by GitHub
parent 476c56868d
commit ce3dd019c3

View File

@ -304,7 +304,11 @@ async def build_chunks(task, progress_callback):
converted_image = d["image"].convert("RGB")
d["image"].close() # Close original image
d["image"] = converted_image
d["image"].save(output_buffer, format='JPEG')
try:
d["image"].save(output_buffer, format='JPEG')
except OSError as e:
logging.warning(
"Saving image of chunk {}/{}/{} got exception, ignore: {}".format(task["location"], task["name"], d["id"], str(e)))
async with minio_limiter:
await trio.to_thread.run_sync(lambda: STORAGE_IMPL.put(task["kb_id"], d["id"], output_buffer.getvalue()))