PHP传输base64数据不完整解决方法

前言

最近在做OCR增值税务处理时,接口是通过图片转base64提交处理然后返回数据的,我通过前端将图片转换为base64提交到后端接收时,通过在线工具进行测试,发现传递过去的数据可以使用,接收到的数据却提示损坏

解决办法

cpp 复制代码
<?php
header('Content-Type: text/html; charset=utf-8');
header('Access-Control-Allow-Origin: *'); // 允许任何网址请求
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding, X-Requested-with, Origin'); // 设置允许自定义请求头的字段


// 接收POST数据

$base64=$_POST['base'];

替换为以下代码:

cpp 复制代码
<?php
header('Content-Type: text/html; charset=utf-8');
header('Access-Control-Allow-Origin: *'); // 允许任何网址请求
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding, X-Requested-with, Origin'); // 设置允许自定义请求头的字段


// 接收POST数据
$postData = file_get_contents('php://input');
$base64=urldecode($postData);
$new_base64 = substr($base64, 27); 

即可解决

相关推荐
zmzb010312 分钟前
C++课后习题训练记录Day42
开发语言·c++·算法
不会编程的小寒16 分钟前
C / C++ 面试题
java·开发语言
坐吃山猪18 分钟前
Electron02-Hello
开发语言·javascript·ecmascript
Mr Lee_20 分钟前
Smali 文件生成dex装箱算法整合
开发语言·python·算法
姓刘的哦38 分钟前
RK3568开发板运行Qt
开发语言·qt
刘晓倩43 分钟前
Python3的Sequence
开发语言·python
消失的旧时光-19431 小时前
彻底理解 synchronized:实例锁、类锁与自定义锁的原理和最佳实践
java·开发语言
45288655上山打老虎1 小时前
【智能指针】
开发语言·c++·算法
蜗牛攻城狮1 小时前
JavaScript 尾递归(Tail Recursion)详解
开发语言·javascript·ecmascript
Dxy12393102161 小时前
Python的PIL对象crop函数详解
开发语言·python