Проблема кодирования в движке приложения при отправке форм multipart / form-data

У меня есть простая форма, которая отправляет изображение в blobstore и заголовок для изображения. Это работает на моем локальном devserver, но когда я развертываю свой код, буквы не ascii в заголовке искажаются какой-то смесью ascii и hex. Например, остров становится = CDsland. Обратите внимание, я использую в качестве первого значения в заголовке. Также utf-8 работает для всех других моих форм. Просто составная форма, которая становится искаженной. В любом случае это моя форма:

<form action="{{ uploadurl }}" enctype="multipart/form-data" method="post">
  <div><label>Title</label><input type="text" name="title" class="string" /></div>
  <div><label>Picture</label><input type="file" name="img"/></div>
  <div style="margin-top:10px;"><input type="submit" value="Add picture" /></div>
  <input type="hidden" value="{{ album.key }}" name="alid"/>
</form>

И это класс, обрабатывающий форму:

# handler for posting photos
class PostPhoto(blobstore_handlers.BlobstoreUploadHandler):
    def post(self):
        upload_files =  self.get_uploads('img')
        photourl = images.get_serving_url(str(upload_files[0].key()))
        photo = Photo()
        #because of multipart/form-data
        photo.title = self.request.get("title")
        photo.photourl = photourl
        photo.photoalbum = PhotoAlbum.get(self.request.get('alid'))     
        photo.put()

Кто-нибудь знает, как я могу это исправить? Нужно ли выполнять кодирование / декодирование на стороне сервера? Я пытался найти это без результатов (Python Newb), так что это мое последнее средство, прежде чем я просто изменю свой дизайн и разделю формы.

13
задан Gopi 2 September 2010 в 06:33
поделиться