【发布时间】:2012-01-24 09:32:00
【问题描述】:
我正在使用 Ubuntu、Django 1.3、Python 2.7。
当我尝试上传某些类型的图像时,我收到以下消息:
上传一张有效的图片。您上传的文件不是图片或损坏的图片。
PNG 和 JPG(我需要的格式)正在发生这种情况。
tiff 和 gif(我不会也永远不会关心)正在工作。
我能做什么?
【问题讨论】:
标签: python django python-imaging-library django-models
我正在使用 Ubuntu、Django 1.3、Python 2.7。
当我尝试上传某些类型的图像时,我收到以下消息:
上传一张有效的图片。您上传的文件不是图片或损坏的图片。
PNG 和 JPG(我需要的格式)正在发生这种情况。
tiff 和 gif(我不会也永远不会关心)正在工作。
我能做什么?
【问题讨论】:
标签: python django python-imaging-library django-models
安装 PIL !
$ sudo apt-get install python-imaging
(适用于 Ubuntu 或其他 Debian 发行版)
【讨论】:
别忘了 jpeg-lib!没有它,PIL 将无法理解它可以使用什么格式。
【讨论】:
如果您收到此错误并且您已在 Ubuntu 上安装了 PIL,请检查您是否已安装 jpeg、freetype、zlib 库。
我建议你也使用 apt/aptitude 而不是 pip/easy_install。
如果你真的想用 pip 安装 PIL,请注意 PIL 设置不会找到你安装的库 (libjpg ...),因为 Ubuntu 会安装这些库
这里 -> /usr/lib/x86_64-linux-gnu 用于 64 位 要么 这里 -> /usr/lib/x86_32-linux-gnu for 32bit
要解决此问题,您可以将其添加到 setup.py(当然您需要从此处下载 PIL 的副本 -> http://www.pythonware.com/products/pil/)
在第 200 行附近(您应该会在那里看到其他路径)
add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
【讨论】:
我发现这个错误可能是由 IntegrityError 在保存到 db 时引起的
【讨论】: