2009-10-02 65 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

相关问题