Maison  >  Article  >  développement back-end  >  Explication détaillée de l'exemple d'avatar de téléchargement de flacon

Explication détaillée de l'exemple d'avatar de téléchargement de flacon

零下一度
零下一度original
2017-07-03 09:40:301821parcourir

Télécharger des avatars, j'ai longtemps pensé qu'il s'agissait simplement de télécharger des fichiers. En fait, il y a un chemin, la base de données stocke ce chemin, puis l'affiche au front-end, sans rien dire, voyons comment ça se passe. est mise en œuvre.

Les paramètres de la base de données sont les suivants

user_image=db.Column(db.String(252),nullable=True)

conception du formulaire :

avatar=FileField('头像')

Le chemin de stockage du code d'implémentation de bout en bout

 avatar=request.files['avatar']
 fanme=avatar.filename
 upfile=os.getcwd()+('/app/static/avatar/')
 ALLOWER_EXIT=['pang','jpg','jpeg','jig']
flag='.' in fanme and fanme.split('.')[1] in ALLOWER_EXITif not flag:     return render_template('editperson.html',form=form)
 avatar.save('{}{}{}'.format(upfile,user.username,fanme))
 user.user_image='/static/avatar/{}{}'.format(user.username,fanme)
 db.session.add(user)

est

/static/avatar/,支持格式 pang、jpg、jpeg等格式,这个可以根据自己的需求进行设置。 
存储后会在数据库存储一个路径
最后实现后数据库

Le suivant est le affichage frontal

{% if username.user_image%}<img   src="{{username.user_image}}" style="height:80px;">{%else%}<img src="/static/img/0.jpg" style="height:70px;width:80px">{%endif%}

Laissez-moi vous expliquer ici, le code backend ici pour implémenter l'avatar téléchargé a signalé une erreur sous Windows, disant que le fichier le fait n'existe pas, j'ai essayé de le modifier, c'est le chemin. Le nom ne doit pas être trop long

Un nom de chemin court convient. S'il est trop long, une erreur sera signalée. Le développement Windows présente de nombreux inconvénients, mais il n'y a aucun problème à l'implémenter sur Ubuntu

项目地址

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn