0

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

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

4

1 回答 1

2

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

但由于 PDF 和 JPEG 都是压缩格式,不能再压缩;尝试这样做实际上会经常扩展它们。这就是 JFFS2 写入失败的时候。

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

于 2013-02-27T09:50:26.923 回答