2011-12-20 3 views
1

Я использую Ubuntu, Django 1.3, Python 2.7.
Когда я пытаюсь загрузить некоторые типы изображения, я получаю сообщение:Django - Загрузить изображение

Загрузить действительное изображение. Загруженный вами файл был либо не изображением, либо поврежденным изображением.

Это происходит с PNG и JPG (форматы, которые мне нужны).
tiff и gif (что я не делаю и не буду заботиться) работают.

Что я могу сделать?

ответ

2

И не забывайте о Jpeg-Lib! Без этого PIL не поймет, с каким форматом он может работать.

+0

Спасибо, на самом деле я просто установлен PIL и он, видимо, установили все необходимое библиотеки. –

+0

@ Поверните это применимо, только если вы используете apt/aptitude try with pip, и вы не получаете поддержки для jpg/png/... :) –

+1

Вы установили его из OS repos или из pyPi? Быть осторожен. Если вы попытаетесь установить PIL из pypi, вы получите ошибку формата. :) – SkyFox

4

Установить PIL!

$ sudo apt-get install python-imaging 

(для Ubuntu или другого Debian дистрибьютора)

+0

Спасибо :) это работало для меня :) –

2

Если вы получили эту ошибку, и вы установили PIL на Ubuntu, убедитесь, что у вас установлены jpeg, freetype, библиотеки zlib.

Я предлагаю вам также использовать apt/aptitude, а не pip/easy_install.

Если вы действительно хотите установить PIL с пипом пожалуйста, обратите внимание, что установка PIL не найдет ваши установленные библиотеки (libjpg ...), потому что Ubuntu устанавливает этот LIBS

здесь ->/USR/Lib/x86_64- Linux-гну для 64-битных или здесь ->/USR/Lib/x86_32-линукс-Гну для 32-битных

, чтобы исправить это, вы можете добавить это к setup.py (конечно, вы должны загрузить копию PIL отсюда ->http://www.pythonware.com/products/pil/)

вокруг линии 200 (вы должны увидеть там другие пути)

add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu") 
+0

+1 Этот параметр может помочь другим –

0

Я обнаружил, что эта ошибка может быть вызвана IntegrityError при сохранении в БД

Смежные вопросы