From 917f5c0176fed4f58121106db350721afc477953 Mon Sep 17 00:00:00 2001 From: jmal Date: Fri, 31 May 2024 23:07:41 +0800 Subject: [PATCH] chore: optimized code --- .../controller/rest/OcrController.java | 37 +++++++++++++++++++ .../com/jmal/clouddisk/ocr/OcrController.java | 23 ------------ 2 files changed, 37 insertions(+), 23 deletions(-) create mode 100644 src/main/java/com/jmal/clouddisk/controller/rest/OcrController.java delete mode 100644 src/main/java/com/jmal/clouddisk/ocr/OcrController.java diff --git a/src/main/java/com/jmal/clouddisk/controller/rest/OcrController.java b/src/main/java/com/jmal/clouddisk/controller/rest/OcrController.java new file mode 100644 index 00000000..ab373339 --- /dev/null +++ b/src/main/java/com/jmal/clouddisk/controller/rest/OcrController.java @@ -0,0 +1,37 @@ +package com.jmal.clouddisk.controller.rest; + +import cn.hutool.core.date.TimeInterval; +import cn.hutool.core.io.FileUtil; +import cn.hutool.http.HttpUtil; +import com.jmal.clouddisk.ocr.OcrService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Tag(name = "OCR") +@Slf4j +public class OcrController { + + private final OcrService ocrService; + + @GetMapping("/ocr") + public String performOcr(@RequestParam String fileUrl) { + String tempImagePath = ocrService.generateOrcTempImagePath(); + try { + HttpUtil.downloadFile(fileUrl, tempImagePath); + TimeInterval timeInterval = new TimeInterval(); + timeInterval.start(); + String str = ocrService.doOCR(tempImagePath, null); + log.info("OCR time consuming: {}", timeInterval.intervalMs()); + return str; + } finally { + // 删除临时文件 + FileUtil.del(tempImagePath); + } + } +} diff --git a/src/main/java/com/jmal/clouddisk/ocr/OcrController.java b/src/main/java/com/jmal/clouddisk/ocr/OcrController.java deleted file mode 100644 index da3208fc..00000000 --- a/src/main/java/com/jmal/clouddisk/ocr/OcrController.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.jmal.clouddisk.ocr; - -import cn.hutool.core.date.TimeInterval; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequiredArgsConstructor -public class OcrController { - - private final OcrService ocrService; - - @GetMapping("/public/ocr") - public String performOcr(@RequestParam String imagePath) { - TimeInterval timeInterval = new TimeInterval(); - timeInterval.start(); - String str = ocrService.doOCR(imagePath, null); - System.out.println("耗时:" + timeInterval.intervalMs() + "ms"); - return str; - } -}