Le code exemple uploading fonctionne bien pour moi. Avez-vous essayé d'utiliser ce code exactement? Cela fonctionne-t-il pour vous, ou quels problèmes voyez-vous?
Comme vous le verrez, cet exemple a une forme avec le même codage que vous utilisez:
<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>
il est juste un peu plus prudent dans le code HTML à utiliser correctement label
balises pour afficher les étiquettes sur le terrain, mais cela n'affecte que l'apparence du formulaire lorsqu'il est rendu dans le navigateur.
Le code Python est similaire à ce que vous montrez (pour le petit susbset que vous faites show):
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('/')
et bien sûr l'URL /sign
est dirigé vers la méthode de classe dont nous venons do_post
montré. Donc, si ce code fonctionne et pas le vôtre, où est la différence? Pas dans la partie que vous nous avez montré, donc il doit être dans certaines parties ne pas montré ... pouvez-vous reproduire la partie sur cet exemple de code de Google fonctionne très bien?
est-il prudent de supposer que vous utilisez du HTML correctement formaté? vous n'avez pas de < > autour de vos tags .... essayez aussi de passer une chaîne à travers votre formulaire sans le multipart/for-data enctype et voir si votre code de formulaire fonctionne en fait. – JiminyCricket
Je suis désolé pour l'apparence des fragments de code bien que je ne trouve aucune aide pour le formater ici - sur stackoverflow. – user430744
utiliser la 5ème icône avec les 1 et 0 – JiminyCricket