百度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);
  }

你可能感兴趣的:(百度OCR error_code:216201解决方案)