2012-02-14 8 views
2

私は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に自分のデプロイメントがあることを知っています。

助けていただけたら幸いです!

答えて

1

あなたは何を知っていますか、私はDjangoの管理者からログアウトし、再びログインすることにしました....突然、正常に動作します! Sheesh。私が最後に試したことは、上記のアプローチ#2でした。誰もがこの問題を抱えているなら、それはあなたの最善の解決策です。

関連する問題