私は Pylons で Web アプリを作成しており、画像のアップロード アクションに取り組んでいます。これは現在、pylons ドキュメントのクイックスタートで説明されている基本的な開発構成で、私の Windows マシンで Egg:paste#http を使用して実行されています。
画像をアプリケーションに POST し、その画像を Web ルート ディレクトリに移動し、アップロードした画像をブラウザでプルすると、画像が歪んで表示されます。これは、Yahoo! の GIF をアップロードしたときに得られたものです。ロゴが表示されますが、おそらく破損が原因で、ほとんどのファイルがブラウザーにまったく表示されません。
歪んだヤフーのロゴ http://www.freeimagehosting.net/uploads/d2c92aef00.png
これは私が使用している基本的なコードです (pylons のドキュメントからそのまま):
os_path = os.path.join(config.images_dir, request.POST['image'].filename)
save_file = open(os_path, 'w')
shutil.copyfileobj(request.POST['image'].file, save_file)
request.POST['image'].file.close()
save_file.close()
request.POST['image'] は cgi.FieldStorage オブジェクトです。これはどういうわけかWindowsの行末の問題かもしれないと思いましたが、それを確認する方法や修正する方法がわかりません。アップロードした画像がゆがむ/破損する原因は何ですか?