2013-02-27 61 views
0

將大.pdf/.jpg文件上傳到jffs2文件系統時,fwrite()失敗。將大.pdf/.jpg文件上傳到jffs2文件系統時,fwrite()失敗

我的設備有1024KB空間,我正在上傳500KB的.pdf文件。我的程序將上傳流式傳輸到字節並寫入jffs2文件系統。給予fwrite()的長度與從fwrite()返回的長度(即寫入的字節數)不相同。它設置錯誤編號爲-11,它說「沒有空間」

回答

2

JFFS2是壓縮文件系統,因此它很可能出現什麼給你1024 KB實際上是一個512 KB的區域,該裝置認爲可以壓縮至少2:1,這是一個典型值。

但是由於PDF和JPEG都是壓縮格式,所以不能再壓縮;試圖這樣做實際上往往會擴大它們。那就是當JFFS2寫入失敗時。

要檢查(如果您的設備沒有報告真實物理空間的規格),您可以嘗試使用pdftk工具獲得未壓縮的 PDF。你可能會看到一個未壓縮的1024K或甚至更大的PDF將被上傳沒有問題......但沒有比490-500 Kb更大的文件壓縮 PDF將是,因爲物理空間不夠大,那裏。