2009-10-02 61 views
0
def create_thumbnail(f, width=200, height=100): 
    im = Image.open(f) 
    im.thumbnail((width, height), Image.ANTIALIAS) 
    thumbnail_file = StringIO() 
    im.save(thumbnail_file, 'JPEG') 
    thumbnail_file.seek(0) 
    return thumbnail_file 

看來我的錯誤是「IOError:無法識別圖像文件」......基於我的追溯日誌。爲什麼我的縮略圖PIL功能第二次不起作用?

+0

你真的需要在系統上開發,你可以調試這樣的東西。您應該能夠將您的python錯誤記錄到您正在使用的Web服務器的文件中,或者(理想情況下)讓Web服務器在命令行中運行,以便在您使用它時將其轉儲到pdb。 – Fragsworth 2009-10-02 08:51:03

+0

您也可以嘗試在本地機器上的解釋器中自行運行此代碼。 – Fragsworth 2009-10-02 08:53:33

+0

當然,即使通過AJAX進行調試,也可以進行調試。像往常一樣,您只需在其中放置一個pdb。當然,這要求你在服務器與控制檯交談的模式下運行服務器,但這就是你在開發過程中應該這樣做的方式。 如果你得到一個錯誤,你的服務器肯定會寫某種錯誤日誌的地方,對吧? – 2009-10-02 09:01:50

回答

2

我唯一能想到的就是你在Windows上運行,在這種情況下,Image.open()將打開一個文件處理程序但不關閉它。 (這種行爲在Linux/Unix上不會發生 - 該文件在您的代碼結束時關閉,並且不管它是否無關)。

+0

找到了解決方案。 我做了.read()之前...並且搞砸了。 你必須.seek(0)回到第一個字節。 – TIMEX 2009-10-03 08:27:57

相關問題