百度OCR error_code:216201解决方案

之前准备使用Flutter 调百度的OCR识别,一直遇到这个问题,困扰了我很久。

{"error_code":216201,"error_msg":"image format error"}

解决方案

  1. data:image/png;base64,//如果base64有这个,要先移除
  2. Uri.encodeComponent(base64);//最后关键一步需要在encode一遍

完整的调用

void executeOcr(XFile file) async {
    Uint8List imageBytes = await file.readAsBytes();
    String base64 = base64Encode(imageBytes);
    String po = Uri.encodeComponent(base64);
    String map = "image=$po";

    String url = "rest/2.0/ocr/v1/general_basic";
    return requestData(
        "$url?access_token=xxx",
        method: Method.POST,
        params: map);
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容