使用 ImageField 之后,上传图片报错
Upload a valid image. The file you uploaded was either not an image or a corrupted image.
查看文档,检查PIL已经装好,MEDIA_ROOT 也设置了,似乎没有什么遗留了。直接Google出错信息,发现是PIL需要JPEG的支持。
Ubuntu 下安装操作如下:
先要反安装 PIL
- sudo pip uninstall PIL
- sudo apt-get install libjpeg8.dev
- sudo pip install PIL
一般就能解决问题了。但是由于使用了Virtualenv,需要在安装PIL的时候指出lib的路径,具体操作如下:
- pip uninstall PIL
- sudo apt-get install libjpeg8.dev
- virtualenv ~/Dev/python-virtualenv/project-name
- workon project-name
- (project-name) cd ~/Dev/python-virtualenv/project-name/
- (project-name) ln -s /usr/lib/x86_64-linux-gnu/libz.so ./lib/
- (project-name) ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so ./lib/
- (project-name) ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so ./lib/
- pip install PIL
注意:i386路径为 /usr/lib/i386-linux-gnu/
参考链接: