1 EasyDL OCR API调用示例(Java)
java
复制编辑
public class OCRService {
private static final String API_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
private static final String ACCESS_TOKEN = "YOUR_ACCESS_TOKEN";
public static String ocrRecognize(String imagePath) throws IOException {
byte[] imgData = Files.readAllBytes(Paths.get(imagePath));
String imgBase64 = Base64.getEncoder().encodeToString(imgData);
Map<String, String> params = new HashMap<>();
params.put("image", imgBase64);
String result = HttpUtil.post(API_URL + "?access_token=" + ACCESS_TOKEN, params);
return result; // 返回OCR解析结果
}
}
2 SpringMVC 文件上传接口
java
复制编辑
@RestController
@RequestMapping("/ocr")
public class OCRController {
@PostMapping("/upload")
public ResponseEntity<Map<String, String>> uploadFile(@RequestParam("file") MultipartFile file) {
try {
String ocrResult = OCRService.ocrRecognize(file.getOriginalFilename());
Map<String, String> response = new HashMap<>();
response.put("ocrText", ocrResult);
return ResponseEntity.ok(response);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
}
3 前端 Vue 代码(上传文件 + 预览 OCR 结果)
vue
复制编辑
<template>
<el-upload action="/ocr/upload" :on-success="handleSuccess">
<el-button type="primary">上传材料</el-button>
</el-upload>
<el-input v-model="ocrResult" placeholder="OCR 识别结果"></el-input>
</template>
<script>
export default {
data() {
return { ocrResult: "" };
},
methods: {
handleSuccess(response) {
this.ocrResult = response.ocrText; // 展示OCR识别结果
}
}
};
</script>