1

在服务器端脚本中,我使用以下 PHP 代码对图像进行编码:

    $handle = fopen($imageSrc,'r');
    $file_content = fread($handle,filesize($imageSrc));
    fclose($handle);
    $encoded = base64_encode($file_content);

    echo $encoded;

当我通过 web 服务读取文件时,它的长度为 9309 字节,这对于 base64 编码数据来说是无效的长度。检查数据,我发现最后一个字节的值是 10 (LF)。现在,在解码数据之前,我正在裁剪我的网络服务中的最后一个字节。有没有一种干净的方法可以避免发送 LF 字符?

4

1 回答 1

1

我不确定是什么导致了这种情况,但是在过去调试过类似的问题后,我会假设在echo导致 a\n输出的下方有一些东西。

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

于 2012-05-07T20:10:13.537 回答