Answers:
在sthysel的建议下,我将损坏的jpeg转换为png,这揭示了问题所在,还为我提供了可以上载jpeg的功能png。
$ convert bad.jpg okay.png
convert: Premature end of JPEG file `bad.jpg' @ warning/jpeg.c/EmitMessage/228.
convert: Corrupt JPEG data: premature end of data segment `bad.jpg' @ warning/jpeg.c/EmitMessage/228.
看看bad.jpg的实际内容,显然是缺少EOF字节:
000d330: 8cbd e32f f164 95a4 4827 54e0 1264 8807 .../.d..H'T..d..
000d340: 8436 479f cd1e afa4 d9e3 0a .6G........
因此,我在文件中填充了必要的字节,这也可以修复jpeg。
000d330: 8cbd e32f f164 95a4 4827 54e0 1264 8807 .../.d..H'T..d..
000d340: 8436 479f cd1e afa4 d9e3 3fff d90a .6G.......?...