From 0bcd3bb2a16d3bc0bf4f58d73d55e3f029546b24 Mon Sep 17 00:00:00 2001 From: GuanM <30427262+sxhoio@users.noreply.github.com.> Date: Mon, 19 Aug 2024 17:54:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B=E5=B0=8F?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E5=B9=B6=20=E4=BF=AE=E5=A4=8D=E4=BA=86Doc?= =?UTF-8?q?kerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 +- app/main.py | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6a42a95..1eb9058 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,4 +14,4 @@ RUN pip install --no-cache-dir -r requirements.txt EXPOSE 8000 # 运行应用 -CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] +CMD ["python", "app/main.py"] \ No newline at end of file diff --git a/app/main.py b/app/main.py index 532a4bc..cd2f775 100644 --- a/app/main.py +++ b/app/main.py @@ -9,11 +9,9 @@ app = FastAPI() from starlette.datastructures import UploadFile as StarletteUploadFile - async def decode_image(image: Union[UploadFile, StarletteUploadFile, str, None]) -> bytes: if image is None: raise HTTPException(status_code=400, detail="No image provided") - if isinstance(image, (UploadFile, StarletteUploadFile)): return await image.read() elif isinstance(image, str): @@ -38,9 +36,8 @@ async def ocr_endpoint( png_fix: bool = Form(False) ): try: - if file.size == 0 and image is None: + if file is None and image is None: return APIResponse(code=400, message="Either file or image must be provided") - image_bytes = await decode_image(file or image) result = ocr_service.ocr_classification(image_bytes, probability, charsets, png_fix) return APIResponse(code=200, message="Success", data=result) @@ -57,7 +54,7 @@ async def slide_match_endpoint( simple_target: bool = Form(False) ): try: - if (background is None and target is None) or (background_file.size == 0 and target_file.size == 0): + if (target_file is None and target is None) or (background_file is None and background is None): return APIResponse(code=400, message="Both target and background must be provided") target_bytes = await decode_image(target_file or target) @@ -74,7 +71,7 @@ async def detection_endpoint( image: Optional[str] = Form(None) ): try: - if file.size == 0 and image is None: + if file is None and image is None: return APIResponse(code=400, message="Either file or image must be provided") image_bytes = await decode_image(file or image) @@ -85,4 +82,4 @@ async def detection_endpoint( if __name__ == "__main__": - uvicorn.run(app, host="0.0.0.0", port=8000) + uvicorn.run(app, host="0.0.0.0", port=8000) \ No newline at end of file