上传。pdf/.jpg大文件到jffs2文件系统时,fwrite()
失败
我的设备有1024KB的空间,我上传的是500KB的pdf文件。我的程序将上传流化为字节,并写入jffs2文件系统。给fwrite()
的长度与从fwrite()
返回的长度不相同(即写入的字节数)。它将错误编号设置为-11,表示"out of space"
JFFS2是一个压缩的文件系统,所以很有可能您看到的1024 Kb实际上是512 Kb的区域,设备认为至少可以2:1压缩,这是一个典型的值。
但由于PDF和JPEG都是压缩格式,它们不能再压缩;尝试这样做实际上往往会扩大它们。这就是JFFS2写入失败的原因。
要检查(如果您没有设备的规格报告真实的物理空间),您可以尝试使用pdftk
工具获得未压缩的 PDF。你可能会看到一个未压缩的 PDF的1024K,甚至更大,将上传没有问题…但是不能超过490-500 Kb的压缩的 PDF,因为物理空间不存在。