乐于分享
好东西不私藏

Umi-OCR PDF上传调试经验总结

Umi-OCR PDF上传调试经验总结

最终成功方案

// 直接调用curl命令上传PDF
var filePath = file.FilePath.Replace("\\", "/");
var curlArgs = $"-s -X POST \"{url}\" -F \"file=@{filePath}\" -F \"json={{\\\"pageStart\\\":0,\\\"pdf_image_mode\\\":true}}\"";

process.StartInfo.FileName = "curl";
process.StartInfo.Arguments = curlArgs;

问题链路

错误码
原因
解决方案
103
文件扩展名空,参数名错误
手动设置ContentDisposition
101
multipart格式破坏
BOM头、StreamWriter编码问题
101
Windows curl不支持 file[]
改用 file 参数
107
JSON引号转义混乱
C#中 {{ → {\\\" → \"
进度0%
Umi-OCR引擎崩溃
重启Umi-OCR或重启电脑

关键教训

  1. Windows curl方括号问题
    file[]参数名无法识别,用file
  2. 路径格式
    :Windows \ → /
  3. 引号转义
    :C#插值字符串中 {{}} 和 \\\"
  4. Umi-OCR稳定性
    :后台强制终止会导致崩溃,需重启

调试技巧

  • curl命令行先验证API
  • 逐步简化参数定位问题
  • 检查Umi-OCR服务状态(OCR引擎是否正常)
  • 重启Umi-OCR解决引擎崩溃问题