Странный знак равенства "=" вставляется в значение <textarea>при загрузке файла через POST с помощью blobstore_handlers.BlobstoreUploadHandler в Google App Engine - PullRequest
1 голос
/ 17 марта 2011

Может воспроизвести эту проблему только на сервере Google App Engine, но не на моем сервере разработки.Только когда я копировал и вставлял часть веб-страницы в <textarea>.

, я искал на форуме Google App Engine и нашел два связанных поста, но так и не понял.Может кто-нибудь дать мне больше подсказок?Спасибо!

Вот мой код:

HTML

< form method = "post" action = "{% if action %}{{ action }}{% endif %}" enctype = "multipart/form-data" accept - charset = "UTF-8" >
< textarea name = "textbox" id = "textbox" rows = "3" cols = "50" wrap = "soft" >

Python

t1 = self.request.get("textbox")
t2 = self.request.POST["textbox"]
logging.info("request get: %s, %s" % (t1, t2))

Похожие сообщения: http://code.google.com/appengine/forum/python-forum.html?place=topic%2Fgoogle-appengine-python%2FOYfn9tXncUk%2Fdiscussion

http://code.google.com/appengine/forum/python-forum.html?place=topic%2Fgoogle-appengine-python%2FCsSrUmb7N4E%2Fdiscussion

Ответы [ 2 ]

3 голосов
/ 17 марта 2011

Благодаря подсказке на форумах Google App Engine от пользователя Djidjadji я обнаружил, что quopri.decodestring() помогает мне!Вот код, который я использовал.Надеюсь, что это может сэкономить время других унылых программистов:)

tMessage = self.request.get("tMessage")

tMessage = quopri.decodestring(tMessage)

tMessage = " ".join(tMessage.split()) #Remove all whitespace

logging.info("tMessage: %s" % tMessage)
0 голосов
/ 02 февраля 2016

Это ошибка в устаревшей библиотеке WebOb Google App Engine.

Просто добавьте, добавьте эту более новую версию WebOb в ваш файл app.yaml.

libraries:
- name: webob
  version: "1.2.3"

Предлагаемое quopri исправление Джоша Касвелла - только половина арендной платы. Это не работает с не-ascii characted.

...