openmcp-client/service/src/mcp/ocr.controller.ts

36 lines
1.0 KiB
TypeScript

import { Controller, RequestClientType } from "../common";
import { PostMessageble } from "../hook/adapter";
import { diskStorage } from "../hook/db";
import { createOcrWorker, saveBase64ImageData } from "./ocr.service";
export class OcrController {
@Controller('ocr/get-ocr-image')
async getOcrImage(data: any, webview: PostMessageble) {
const { filename } = data;
const buffer = diskStorage.getSync(filename);
const base64String = buffer ? buffer.toString('base64'): undefined;
return {
code: 200,
msg: {
base64String
}
}
}
@Controller('ocr/start-ocr')
async startOcr(data: any, webview: PostMessageble) {
const { base64String, mimeType } = data;
const filename = saveBase64ImageData(base64String, mimeType);
const worker = createOcrWorker(filename, webview);
return {
code: 200,
msg: {
filename,
workerId: worker.id
}
}
}
}