Пример кода Загрузка отлично работает для меня. Вы пытались использовать этот код точно? У вас это работает, или какие проблемы вы видите?
Как вы увидите, в этом примере есть форма с той же кодировкой, которую вы используете:
<form action="/sign" enctype="multipart/form-data" method="post">
<div><label>Message:</label></div>
<div><textarea name="content" rows="3" cols="60"></textarea></div>
<div><label>Avatar:</label></div>
<div><input type="file" name="img"/></div>
<div><input type="submit" value="Sign Guestbook"></div>
</form>
в HTML немного осторожнее, чтобы правильно использовать теги label
для отображения меток полей, но это влияет только на внешний вид формы при визуализации в браузере.
Код Python также похож на то, что вы показываете (для крошечного susbset, который вы показываете):
def post(self):
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get("content")
avatar = self.request.get("img")
greeting.avatar = db.Blob(avatar)
greeting.put()
self.redirect('/')
и, конечно, URL /sign
направлен на класс, чей метод do_post
мы только что показали.
Итак, если этот код работает, а ваш - нет, в чем разница? Не в той части, которую вы нам показали, так что, должно быть, в некоторых частях вы не показывали ... вы можете воспроизвести часть о данном примере кода от Google, которая работает просто отлично?