将大.pdf / .jpg文件上传到jffs2文件系统时,fwrite()失败

时间:2013-02-27 09:43:39

标签: c jffs2

将大型.pdf / .jpg文件上传到jffs2文件系统时,fwrite()会失败。

我的设备有1024KB空间,我正在上传500KB的.pdf文件。我的程序将上传流式传输到字节并写入jffs2文件系统。给fwrite()的长度与fwrite()返回的长度不一致(即写入的字节数)。它将错误编号设置为-11,表示“空间不足”

1 个答案:

答案 0 :(得分:2)

JFFS2是一个压缩文件系统,因此很有可能你所看到的1024 Kb实际上是512 Kb区域,设备认为可以在至少2:1,这是一个典型值。

但由于PDF和JPEG都是压缩格式,因此无法再次压缩; ;试图这样做实际上往往会扩大它们。这就是JFFS2写入失败的时候。

要检查(如果您的设备没有报告真实物理空间的规格),您可以尝试使用pdftk工具获取未压缩的 PDF。你可能会看到一个1024k甚至更大的未压缩的 PDF上传没有问题...但没有大于490-500 Kb 压缩的 PDF将是,因为物理空间不存在。