Я создаю веб-приложение в Pylons и работаю над действием загрузки изображения. В настоящее время он работает с помощью egg:paste#http на моем компьютере с Windows в базовой конфигурации разработки, описанной в кратком руководстве по документации pylons.
Когда я отправляю изображение в свое приложение, затем перемещаю изображение в корневой веб-каталог, а затем загружаю загруженное изображение в браузере, изображение кажется искаженным. Вот что я получил, когда загрузил GIF из Yahoo! logo, но большинство файлов вообще не отображаются в браузере, предположительно из-за повреждения:
http://www.freeimagehosting.net/uploads/d2c92aef00.png
Это базовый код, с которым я работаю (прямо из документации по пилонам):
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, но я не уверен, как это проверить или исправить. Из-за чего мои загруженные изображения искажаются/повреждаются?