base64编码数据中的换行符

时间:2012-05-05 06:19:24

标签: php web-services base64 httprequest

在服务器端脚本中,我使用以下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字符?

1 个答案:

答案 0 :(得分:1)

我不确定导致这种情况的原因,但过去调试过类似的问题,我会假设echo下方有一些内容导致输出\n

要对此进行测试,请在die();之后直接放置echo。如果我的理论是正确的,您可以离开die();,或者(更好)在执行流程中逐步向下移动它,直到找到导致\n输出的任何内容。