【问题标题】:Django - Upload a valid imageDjango - 上传一个有效的图像
【发布时间】:2012-01-24 09:32:00
【问题描述】:

我正在使用 Ubuntu、Django 1.3、Python 2.7。
当我尝试上传某些类型的图像时,我收到以下消息:

上传一张有效的图片。您上传的文件不是图片或损坏的图片。

PNG 和 JPG(我需要的格式)正在发生这种情况。
tiff 和 gif(我不会也永远不会关心)正在工作。

我能做什么?

【问题讨论】:

    标签: python django python-imaging-library django-models


    【解决方案1】:

    安装 PIL !

    $ sudo apt-get install python-imaging
    

    (适用于 Ubuntu 或其他 Debian 发行版)

    【讨论】:

      【解决方案2】:

      别忘了 jpeg-lib!没有它,PIL 将无法理解它可以使用什么格式。

      【讨论】:

      • 谢谢,其实我只是安装了 PIL,它显然安装了所有需要的库。
      • @Glide 这仅适用于您使用 apt/aptitude try with pip 并且您不支持 jpg/png/... :)
      • 你是从 OS repos 还是从 pyPi 安装的?当心。如果您尝试从 pypi 安装 PIL,您将收到格式错误。 :)
      【解决方案3】:

      如果您收到此错误并且您已在 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")
      

      【讨论】:

        【解决方案4】:

        我发现这个错误可能是由 IntegrityError 在保存到 db 时引起的

        【讨论】:

          猜你喜欢
          • 2011-11-28
          • 1970-01-01
          • 1970-01-01
          • 2017-08-02
          • 2021-11-05
          • 2011-11-06
          • 2015-06-14
          • 1970-01-01
          • 2016-02-23
          相关资源
          最近更新 更多