特定 jpeg 映像無法在 Nautilus 中預覽且無法上傳

特定 jpeg 映像無法在 Nautilus 中預覽且無法上傳

我有一組來自同一來源的 .jpg 圖像,它們似乎都表現良好:我可以使用 eog/Kolourpaint/GIMP 打開/編輯它們,它們的縮圖在 Nautilus 中正確加載,等等。

但是,當我嘗試上傳這些圖像(例如透過網頁瀏覽器上傳到Tumblr)時,其中一張(且只有一張)無法在Nautilus 檔案上傳瀏覽器中預覽,並且當我嘗試上傳此檔案時,Tumblr 返回錯誤。

哪些類型的問題會導致正常的 jpeg 映像無法在 Nautilus 檔案上傳瀏覽器中預覽?

答案1

這並不能直接回答你的問題,但處理“輕微損壞”圖像的方法是轉換襟翼...

$ convert broken.jp cbroken.png
$ convert cbroken.png good.jpg

我發現影像處理工具對於規範合規性有不同的容忍度。根據我的經驗,Convert 既非常寬容又順從。

答案2

根據 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.......?...

答案3

過去造成我相容性問題的兩件事是:

  • 以 jpeg 格式儲存的預覽 - 停用儲存預覽(如果軟體支援)
  • 儲存為 jpeg 的 CMYK 映像 - 在儲存之前轉換為 RGB 或將副本匯出為 RGB

相關內容