私はNGNX/FastCGIを使用してUbuntuのvirtualenv内にDjangoアプリケーションを実行していて、JPG画像をDjango管理アプリケーションにアップロードしようとしています。Django経由でJPEG画像をアップロードするとエラーが表示される
「この画像は有効な画像をアップロードしています。アップロードしたファイルが画像でも壊れた画像でもありません」というエラーが表示されます。私はGIF画像をアップロードすることができるので、問題の原因となっているのはJPEGだけです。
ここで私はこれまで試したものです:
1)PILの最後のインストール時にPIL
pip uninstall pil
sudo apt-get libjpeg62-dev
pip install pil
前です:libjpeg62-devのをインストールし、私は以下を参照してください
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
それで、JPEGサポートがそこにあるように見えます。枕で私の運を試してみてください)
pip uninstall pil
sudo apt-get libjpeg62-dev
pip install --no-install pil
vi /path/to/virtualenv/build/PIL/setup.py (JPG_ROOT = libinclude("/usr/lib"))
pip install pil
3:私も検証する手動テストをやったし、それを検証:
>>> from PIL import Image
>>> trial_image=Image.open("/path/to/my/image.png")
>>> trial_image.verify()
2)上記の#1に近づくと同様ですが、手動でJPG_ROOTを指定します私もPILをインストールするたびに後nginxのサービスを開始&を停止しようとしてきたの下で(PILフォーク)
pip uninstall pil
sudo apt-get libjpeg62-dev
pip install pillow
私はジャンゴを実行していますよ。
これまで私がUbuntuのDjangoアプリケーションで上記のエラーメッセージを表示してくれたことはありませんでした。同じJPGイメージを同じDjangoアプリケーションを実行しているローカルのデベロッパーボックス(Mac OSX 10.6.5)にアップロードすることができます。そのため、私はUbuntuに自分のデプロイメントがあることを知っています。
助けていただけたら幸いです!