在服务器端脚本中,我使用以下PHP代码对图像进行编码:
$handle = fopen($imageSrc,'r');
$file_content = fread($handle,filesize($imageSrc));
fclose($handle);
$encoded = base64_encode($file_content);
echo $encoded;
当我通过webservice读取文件时,它的长度为9309字节,这是base64编码数据的无效长度。检查数据,我发现最后一个字节的值是10(LF)。现在我在解码数据之前在我的webservices中裁剪掉最后一个字节。是否有一种干净的方法来避免发送LF字符?
答案 0 :(得分:1)
我不确定导致这种情况的原因,但过去调试过类似的问题,我会假设echo
下方有一些内容导致输出\n
。
要对此进行测试,请在die();
之后直接放置echo
。如果我的理论是正确的,您可以离开die();
,或者(更好)在执行流程中逐步向下移动它,直到找到导致\n
输出的任何内容。