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