首页 文章

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

提问于
浏览
0

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

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

1 回答

  • 2

    JFFS2是一个压缩文件系统,因此很有可能你看来1024 Kb实际上是512 Kb区域,设备 thinks 可以压缩至少2:1,这是一个典型值 .

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

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

相关问题